官方网站:Chroma
开源项目:chroma-core/chroma: the AI-native open-source embedding database (github.com)
安装方法
pip install chromadb
使用方法
根据id获取文档和根据文本查询文档
import chromadb
# 创建客户端
chroma_client = chromadb.Client()
# 创建集合
collection = chroma_client.create_collection(name="my_collection")
# 添加文档
collection.add(
ids=["id1", "id2"],
documents=[
"This is a document about pineapple",
"This is a document about oranges",
],
)
# 获取文档
result = collection.get(ids=["id1"])
print(result)
# 查询文档
results = collection.query(
query_texts=["This is a query document about hawaii"],
n_results=2,
)
print(results)
根据向量距离和过滤条件查询文档
import chromadb
# 创建客户端
chroma_client = chromadb.Client()
# 创建集合
collection = chroma_client.create_collection(name="my_collection")
# 添加文档
collection.add(
ids=["id1", "id2"],
embeddings=[
[0.1, 0.2, 0.3],
[0.4, 0.5, 0.6],
],
metadatas=[{"category": "pineapple"}, {"category": "orange"}],
documents=[
"This is a document about pineapple",
"This is a document about oranges",
],
)
# 根据距离查询文档
results = collection.query(
query_embeddings=[[0.4, 0.5, 0.6]], # 使用3维向量
n_results=1,
)
print("基于向量距离的查询结果:")
print(results)
# 过滤文档
results = collection.query(
query_embeddings=[[0.1, 0.2, 0.3]], where={"category": "pineapple"} # 使用3维向量
)
print("\n基于过滤条件的查询结果:")
print(results)
转载请注明转自www.hylab.cn,原文地址:免费开源向量数据库Chroma下载地址