【技术专题】嵌入模型与Chroma向量数据库 - Chroma安装与简单应用实例

0 阅读1分钟

大家好,我是锋哥。最近连载更新《嵌入模型与Chroma向量数据库 AI大模型应用开发必备知识》技术专题。

QQ截图20260226134650.jpg 本课程主要介绍和讲解嵌入模型与向量数据库简介,Qwen3嵌入模型使用,Chroma向量数据库使用,Chroma安装,Client-Server模式,集合添加,修改,删除,查询操作以及自定义Embedding Functions。。。 同时也配套视频教程 《1天学会 嵌入模型与Chroma向量数据库 AI大模型应用开发必备知识 视频教程》

我们看下Chroma的快速开始指南

可以学习下:docs.trychroma.com/docs/overvi…

安装下ChromaDB

pip install chromadb  -i http://mirrors.aliyun.com/pypi/simple/   --trusted-host mirrors.aliyun.com

创建ChromDB客户端,我们现在用的是默认的内存数据库模式。

import chromadb
chroma_client = chromadb.Client()

创建集合,集合是用于存储嵌入、文档和任何其他元数据的地方。集合会对嵌入和文档进行索引,从而实现高效的检索和过滤。你可以使用以下名称创建一个集合:

collection = chroma_client.create_collection(name="my_collection") # 创建集合

添加一些文档数据到集合里去,Chroma将自动存储您的文本,并处理嵌入和索引。您还可以自定义嵌入模型。您必须为文档提供唯一的字符串ID。

collection.add(
    ids=["id1", "id2"],
    documents=[
        "This is a document about pineapple",
        "This is a document about oranges"
    ]
)

查询集合,您可以使用一系列查询文本对集合进行查询,Chroma将返回n个最相似的结果。就是这么简单!

results = collection.query(
    query_texts=["This is a query document about hawaii"], # Chroma will embed this for you
    n_results=2 # how many results to return
)
print(results)

运行结果,默认chroma会自动安装一个all-MiniLM-L6-v2的嵌入模型。

C:\Users\caofe.cache\chroma\onnx_models\all-MiniLM-L6-v2\onnx.tar.gz: 100%|██████████| 79.3M/79.3M [07:15<00:00, 191kiB/s]
{'ids': [['id1', 'id2']], 'embeddings': None, 'documents': [['This is a document about pineapple', 'This is a document about oranges']], 'uris': None, 'included': ['metadatas', 'documents', 'distances'], 'data': None, 'metadatas': [[None, None]], 'distances': [[1.0404009819030762, 1.2430799007415771]]}