Chroma:AI原生开源向量数据库,RAG与语义搜索首选,28,530 Stars让搜索基础设施零门槛

Chroma Logo

Chroma – Search Infrastructure for AI

📦 项目简介

Chroma 是一款AI 原生的开源向量数据库,提供向量、全文、正则表达式和元数据搜索一体化基础设施。专为 AI 应用设计,支持语义相似搜索、混合检索和数据集版本管理,是 RAG(检索增强生成)和 AI 搜索场景的首选开源方案。

⭐ 28,530 Stars
🍴 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 配备长期记忆,它都是最值得信赖的开源基石。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注