微信扫码
添加专属顾问
我要投稿
还在为RAG知识库的笨重和低效烦恼?Rust原生的ChromaDB带来轻量级、高性能的向量数据库解决方案! 核心内容: 1. ChromaDB的核心优势:Rust开发、轻量易用、低CPU依赖 2. 快速上手指南:安装、客户端创建、集合配置 3. 完整操作流程:数据写入、元数据管理和查询实践
最近在做大模型RAG相关项目,了解一个向量数据库叫Chroma DB,使用Rust来开发的。
它的优点,开源的,简单轻量,容易上手,对CPU的依赖较低,更多是依赖内存来完成大规模数据,适合做一些矢量搜索、全文搜索等操作。
比较适合中小型项目,不需要过多复杂配置,功能丰富,支持嵌入式文档、查询、搜索嵌入、多模态检测,元数据过滤等。
基本使用很简单。
1、安装chroma DB库
pip install chromadb
2、创建 Client
import chromadb
// 有三种方式创建
#1 非持久化客户端
client = chromadb.Client()
#2 持久化客户端
client = chromadb.PersistentClient(path="/chroma/myCollection")
#3 http模式
client = chromadb.HttpClient(host='localhost', port=8000)
3、创建Collect
from datetime import datetime
collection = client.create_collection(
name="my_collection",
embedding_function=emb_fn,
metadata={
"description": "my first Chroma collection",
"created": str(datetime.now())
}
)
可以配置相关参数,name 标识 collect 名称,必填项;embedding_function是指定嵌入函数,可默认嵌入模型;metadata 元数据,如索引方式等(可选)。
4、写入
collection.add(
ids=["id1", "id2", "id3", ...],
embeddings=[[1.1, 2.3, 3.2], [4.5, 6.9, 4.4], [1.1, 2.3, 3.2], ...],
documents=["doc1", "doc2", "doc3", ...],
metadatas=[{"chapter": 3, "verse": 16}, {"chapter": 3, "verse": 5}, {"chapter": 29, "verse": 11}, ...],
)
参数解释:
5、查询
通过一个小案例;
import chromadb
# 初始化持久化客户端(数据保存到本地)
chroma_client = chromadb.PersistentClient(path="./chroma_data")
# 获取或创建集合(类似于数据库表)
collection = chroma_client.get_or_create_collection(name="my_documents")
# 准备要添加的数据
documents = [
"一只柯基在蹦蹦跳跳",
"一只小狗在奔跑",
"一只鸟在飞",
"汽车在高速公路上行驶",
"苹果是一种水果"
]
ids = ["id1", "id2", "id3", "id4", "id5"]
metadatas = [{"type": "动物"}, {"type": "动物"}, {"type": "动物"}, {"type": "交通工具"}, {"type": "植物"}]
# 将数据添加到集合中
collection.add(
documents=documents,
metadatas=metadatas,
ids=ids
)
# 执行相似性查询:查找与"蹦蹦跳跳的小狗"相似的文档
results = collection.query(
query_texts=["蹦蹦跳跳的小狗"],
n_results=3
)
# 打印查询结果
print("最相似的文档:", results['documents'])
print("对应的ID:", results['ids'])
print("相似度距离:", results['distances']) # 距离越小相似度越高
执行结果:
"一只小狗在奔跑" (id2) - 距离:0.312 - 最相似
"一只鸟在飞" (id3) - 距离:0.764 - 中等相似
"一只柯基在蹦蹦跳跳" (id1) - 距离:0.782 - 相似度最低
其中的常用向量数据库如Qdrant、Milvus、及FAISS等也非常出色,具体根据需求选择,比如要做超大规模多模态检索,AI搜索引擎,良好集成LangChain/LlamaIndex,可以选择Milvusz这种十几亿级别量级。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-09-03
Midoo.AI 发布:AI Agent 能否破解教育行业千亿美金的「无解方程」?
2025-09-03
惊险!腾讯ima搜出来的资料差点出事……
2025-09-03
腾讯混元也可在微信评论区,@马斯克的XAI产品经理笑了
2025-09-03
三重Reward驱动的运维智能体进化:多智能体、上下文工程与强化学习的融合实践
2025-09-03
AI流量入口被抢疯了!友商靠GEO让品牌进入AI推荐TOP3了,你的认知却还停留在把它当AISEO?
2025-09-03
揭秘「零故障」运维:Prophet 时序预测与 AI 模型如何联手驯服服务器风险?
2025-09-03
RAGFlow:让大模型真正读懂公司所有文档的开源 RAG 引擎
2025-09-03
生成式AI超越确定性:企业结构化数据在不确定性管理中的新范式
2025-08-21
2025-06-21
2025-08-21
2025-08-19
2025-06-07
2025-06-12
2025-06-19
2025-06-13
2025-07-29
2025-06-15
2025-09-03
2025-09-03
2025-09-03
2025-09-02
2025-08-28
2025-08-28
2025-08-28
2025-08-28