Chroma – Search Infrastructure for AI
📦 项目简介
Chroma 是一款AI 原生的开源向量数据库,提供向量、全文、正则表达式和元数据搜索一体化基础设施。专为 AI 应用设计,支持语义相似搜索、混合检索和数据集版本管理,是 RAG(检索增强生成)和 AI 搜索场景的首选开源方案。
🍴 2,333 Forks
📜 Apache-2.0
🐍 Python / TypeScript / Rust
📦 15M+ 月下载
⚙️ 安装要求和过程
环境要求
- Python ≥ 3.8(推荐 3.9+)
- Node.js ≥ 18(TypeScript 客户端)
- Rust ≥ 1.70(可选,自行编译时使用)
- Docker(可选,服务端部署)
快速安装(Python)
# 安装 Chroma Python 客户端
pip install chromadb
# 启动 Chroma 服务端(默认端口 8000)
pip install chromadb[server]
chromadb run
# 或使用 Docker 一键启动
docker run -d --name chroma \
-p 8000:8000 \
-v $(pwd)/chroma-data:/chroma/chroma \
chromadb/chroma:latest
TypeScript / JavaScript 安装
# npm
npm install chromadb
# 在 Node.js / 浏览器中使用
import { ChromaClient } from 'chromadb';
const client = new ChromaClient({ path: "http://localhost:8000" });
Chroma Cloud(托管服务)
注册 Chroma Cloud 即可获得免运维、自动扩缩容的托管向量数据库,支持 S3/GCS 对象存储、SOC 2 Type II 合规。
✨ 核心功能
🔍 多模态搜索
同时支持向量搜索(语义相似度)、全文搜索(BM25/SPLADE 稀疏向量)、正则表达式搜索和元数据过滤。可在单次查询中混合多种搜索策略,实现更精准的召回效果。
📦 集合 Forking(数据集版本管理)
支持写时复制(Copy-on-Write)Forking,可快速复制整个 Collection 用于 A/B 测试、模型版本对比或数据回滚,无需额外存储空间。
⚡ 对象存储原生架构
索引专门优化用于 S3 / GCS 对象存储,热数据内存缓存 + 温数据 SSD + 冷数据对象存储三层智能分层。存储成本降低 10 倍(向量 1GB → 对象存储 $0.02/GB/mo vs 内存 $5/GB/mo)。
🔌 多语言 SDK + 生态集成
官方支持 Python、TypeScript、Rust 三语言 SDK;无缝集成 LangChain、LlamaIndex、OpenAI、Cohere、Hugging Face 等主流 AI 框架;也可通过 MCP 协议直接接入 AI Agent。
📊 企业级可靠性
SOC 2 Type II 认证;支持多租户隔离、VPC 私有部署(BYOC)、CMEK 客户托管密钥、AWS PrivateLink 私有网络;索引状态实时监控;读写一致性级别可控(ReadLevel)。
🚀 典型使用场景
场景一:RAG(检索增强生成)知识库
将企业文档、技术手册、FAQ 等嵌入为向量存入 Chroma,LLM 回答问题时先检索相关片段再生成答案。相比直接使用 LLM,准确率提升 40%+,同时可追溯答案来源。
# RAG 典型代码(Python)
import chromadb
from langchain.vectorstores import Chroma
from langchain.embeddings import OpenAIEmbeddings
# 创建向量库
vectordb = Chroma.from_documents(
documents=splits,
embedding=OpenAIEmbeddings(),
persist_directory="./chroma_db"
)
# 检索相关文档
retriever = vectordb.as_retriever(search_kwargs={"k": 4})
relevant_docs = retriever.get_relevant_documents("如何重置密码?")
场景二:语义搜索与推荐系统
电商、内容平台可用 Chroma 实现”以文搜图”、”相关推荐”等功能。用户查询经嵌入模型转化为向量后,与数据库中商品/内容向量计算相似度,返回最相关的结果。支持混合检索(向量+全文+元数据过滤联合排序)。
场景三:AI Agent 长期记忆
为 AI Agent 提供跨会话的持久化记忆。将历史对话、用户偏好、工具调用记录存入 Chroma,Agent 每次运行时检索相关上下文注入 Prompt,实现”越用越懂你”的个性化体验。可与 Mem0、claude-mem 等记忆层搭配使用。
💡 推荐理由
Chroma 是目前最易上手的向量数据库,没有之一。pip install chromadb 后 3 行代码即可启动,不需要任何外部依赖或复杂配置。这对于想要快速验证 RAG 想法的开发者来说,是绝对的”第一步”首选。
它的多模态搜索能力尤其值得称道——不再是单一的向量相似度搜索,而是可以混合稀疏向量(BM25)、稠密向量、全文和正则表达式,在一个查询里完成多路召回再重排序。这个设计让召回率比单纯向量搜索提升了不少,尤其在专业术语、产品编码等”精确匹配”场景。
对象存储原生架构也是一个被低估的亮点。很多向量数据库把索引放内存,数据量大了成本直线上升。Chroma 把向量存 S3/GCS,热数据才进内存,存储成本直接降到 1/10。对于千万级向量规模的应用,这个差异就是”用得起”和”用不起”的分界线。
最后,Chroma 的社区活跃度很高,27K+ Stars、15M+ 月下载量、9 万+ GitHub 仓库依赖,意味着你踩过的坑几乎一定有人踩过,Stack Overflow / Discord 上能找到现成答案。加上 LangChain、LlamaIndex 的官方集成,基本上”开箱即用”。
📥 下载地址
📊 技术规格
| 项目 | 详情 |
|---|---|
| GitHub | chroma-core/chroma |
| Stars | 28,530 |
| 最新版本 | Python 1.5.9 / JS 3.4.5 / CLI 1.4.4 |
| 开源许可 | Apache-2.0 |
| 主要语言 | Python、Rust、Go、TypeScript |
| 月下载量 | 15,000,000+ |
| 存储后端 | S3 / GCS(对象存储原生) |
| 查询延迟(P50) | 20ms(热缓存)/ 650ms(冷启动) |
| 集合上限 | 100 万 Collection / 500 万条记录 |
| 搜索类型 | 向量 / 全文 / 正则 / 元数据 / 混合 |
🚀 Chroma 让每个开发者都能在 5 分钟内拥有生产级向量搜索能力。
无论是构建 RAG 知识库、语义搜索引擎,还是为 AI Agent 配备长期记忆,它都是最值得信赖的开源基石。

发表回复