Chroma:给 AI 应用做向量存储和检索
Chroma:给 AI 应用做向量存储和检索
Chroma 在 GitHub 上已经拿到 28,198 Star。
这是一个开源的向量数据库,定位为 AI 应用的数据基础设施。支持 Python 和 JavaScript,提供内存模式用于快速原型,也支持持久化存储和服务端部署。
1、 核心功能
向量数据库的作用是把文本、图片这类数据转成高维向量,然后基于相似度做检索。语义搜索、RAG 这类场景都依赖这个能力。
Chroma 的核心 API 只有 4 个函数:创建集合、添加文档、查询相似结果、按 ID 获取。没有复杂的配置,安装后直接 import 就能用。
import chromadb
client = chromadb.Client()
collection = client.create_collection("all-my-documents")
collection.add(
documents=["This is document1", "This is document2"],
metadatas=[{"source": "notion"}, {"source": "google-docs"}],
ids=["doc1", "doc2"],
)
results = collection.query(
query_texts=["This is a query document"],
n_results=2,
)

Embedding 生成、tokenization、索引构建,这些 Chroma 内部自动处理。你也可以传自己的向量,跳过内置的 embedding 流程。

2、 设计思路
Chroma 的目标是让向量检索的门槛足够低。内存模式适合本地开发和测试,加一行配置就能切到持久化模式。需要服务化部署时,用 chroma run 启动服务端,客户端通过网络访问。
Python 和 JavaScript 的 API 设计保持一致,团队里不同技术栈的人用起来不会有割裂感。
如果不需要自己维护基础设施,Chroma Cloud 提供托管服务,支持向量搜索、混合搜索和全文搜索。
3、 安装使用
Python 用户:
pip install chromadb
JavaScript 用户:
npm install chromadb
启动服务端:
chroma run --path /chroma_db_path
查询时支持 metadata 过滤和文档内容过滤,接口设计得很直接,没有复杂的查询语法要记。
4、 适合哪些人用
- 做 RAG 应用、需要给 LLM 检索上下文的开发者
- 做语义搜索、推荐系统的工程师
- 需要快速验证向量检索方案的产品团队
Chroma 采用 Apache 2.0 协议开源,社区在 Discord 上活跃,每周一发布新版本。
需要快速验证向量检索方案的产品团队
Chroma 采用 Apache 2.0 协议开源,社区在 Discord 上活跃,每周一发布新版本。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)