微信扫码
添加专属顾问
我要投稿
还在为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+中大型企业
2026-02-05
苹果 Xcode 终于引入 AI,「Agentic Coding」攻入「果系」开发者大本营
2026-02-05
Claude Code vs. OpenAI Codex为什么更慢的模型,反而更快把事情做完
2026-02-04
Skills使用体验
2026-02-04
AgentScope 正式发布 Skills 支持 - 实现渐进式披露
2026-02-04
从“回答者”进化为“研究员”:全面解析 Deep Research
2026-02-04
刚刚,Xcode 史诗级更新:原生集成 Claude Agent SDK,苹果开发直接起飞!
2026-02-04
国产 Cowork 它来了!MCP、Skills和Expert Agents都支持,全部免费体验!
2026-02-04
混元研究博客上线姚顺雨团队最新成果:从 Context 探索语言模型的范式转变
2026-01-24
2026-01-10
2025-11-19
2025-11-13
2026-01-26
2026-01-01
2025-12-09
2025-11-12
2026-01-09
2025-12-21
2026-02-04
2026-02-03
2026-02-03
2026-02-02
2026-02-02
2026-02-02
2026-01-31
2026-01-30