开源向量数据库 · 让AI拥有长期记忆
📦 项目简介
Chroma 是专为AI应用打造的开源嵌入式向量数据库,让大模型拥有”长期记忆”。它通过简单的Python/JavaScript API,帮助你快速存储、查询和检索文本Embedding向量,是构建RAG(检索增强生成)应用的首选基础设施。
🔗 GitHub:chroma-core/chroma ⭐ Stars:43.1K+ 📄 协议:Apache 2.0
🔧 安装要求和过程
环境要求
| 依赖 | 要求 |
|---|---|
| Python | ≥ 3.8(推荐 3.10+) |
| 内存 | ≥ 4GB(生产环境建议 8GB+) |
| 存储 | ≥ 1GB 可用空间 |
| 可选后端 | SQLite(默认)、DuckDB(分析场景) |
快速安装(3行代码搞定)
pip install chromadb
import chromadb
client = chromadb.Client() # 开箱即用!
Docker 部署(生产推荐)
docker run -d --name chroma \
-p 8000:8000 \
ghcr.io/chroma-core/chroma:latest
部署后访问 http://localhost:8000 即可使用 HTTP API。
🔩 核心功能
| 功能 | 说明 |
|---|---|
| 多模态向量搜索 | 支持文本、图像、音频的 Embedding 存储与相似度检索 |
| 多客户端 SDK | Python、JavaScript/TypeScript、REST API 全覆盖 |
| 全文+向量混合搜索 | 结合关键词匹配与语义搜索,提升召回率 |
| 内置 Embedding 函数 | 默认集成 Sentence Transformers,无需外部 API |
| 持久化存储 | 支持本地持久化、DuckDB 后端,数据不丢失 |
💡 典型使用场景
场景一:RAG(检索增强生成)应用
将企业文档、知识库存入 Chroma,用户提问时先检索相关片段,再送给 LLM 生成答案。相比直接问 LLM,准确率提升 40%+,幻觉大幅减少。
# RAG 核心代码(不到 20 行!)
collection = client.create_collection("docs")
collection.add(
documents=["公司报销流程...", "年假申请..."],
ids=["1", "2"]
)
results = collection.query(query_texts=["如何报销?"], n_results=1)
# results 包含最相关的文档片段
场景二:AI Agent 长期记忆
让 AutoGPT、CrewAI 等 Agent 框架拥有跨会话记忆。将历史对话的 Embedding 存入 Chroma,下次对话时自动检索上下文,实现”越用越懂你”。
场景三:语义推荐系统
电商、内容平台的”猜你喜欢”,用 Chroma 存储商品/内容向量,用户行为向量实时检索最相似物品,推荐相关度远超协同过滤。
🌟 推荐理由
Chroma 是我见过最易上手的向量数据库,没有之一。不需要学 SQL,不需要配置复杂集群,pip install 之后 3 行代码就能跑起来。
相比 Pinecone 等托管服务,Chroma 完全开源、可自托管,数据不出门,合规零风险。相比 Faiss,它提供了完整的 CRUD API 和持久化,不用每次重启都重新建索引。
如果你正在做 RAG、AI 搜索、推荐系统,或者想给 Agent 加上记忆,Chroma 是目前开发体验最好的选择。LangChain、LlamaIndex、Supabase 都已官方集成,生态非常成熟。
📥 下载地址
| 渠道 | 链接 / 命令 |
|---|---|
| GitHub 仓库 | github.com/chroma-core/chroma |
| 官网文档 | docs.trychroma.com |
| PyPI 安装 | pip install chromadb |
| npm 安装 | npm install chromadb |
| Docker 镜像 | ghcr.io/chroma-core/chroma:latest |
— 开源项目第52期 | 夜野飞云 —
发表回复