Chroma #
什么是 Chroma? #
Chroma 是一个开源的 AI 原生向量数据库,专为构建 AI 应用而设计。它提供了简单易用的 API,让开发者可以轻松地存储、检索和管理工作流中的向量嵌入,是构建 RAG(检索增强生成)应用的理想选择。
文档结构 #
本指南按以下结构组织,循序渐进地帮助你掌握 Chroma:
1. 入门基础 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| Chroma 简介 | Chroma 的定义、特点、历史与应用场景 | intro.md |
| 基础概念与安装 | 核心概念、安装配置、环境准备 | basics.md |
| 快速开始 | 第一个程序、基本操作流程 | quickstart.md |
2. 核心功能 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 集合管理 | 创建、删除、配置集合 | collections.md |
| 文档操作 | 添加、更新、删除文档 | documents.md |
| 向量嵌入 | 嵌入函数、自定义嵌入、多模态支持 | embeddings.md |
| 查询与检索 | 相似性搜索、过滤查询、混合检索 | querying.md |
3. 进阶应用 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 高级配置 | 持久化、分布式部署、性能优化 | advanced.md |
| 集成与扩展 | LangChain、LlamaIndex、其他框架集成 | integrations.md |
| 最佳实践 | 生产部署、安全配置、性能调优 | best-practices.md |
学习路径 #
text
入门阶段
├── Chroma 简介
├── 安装与配置
├── 第一个程序
│
基础阶段
├── 集合管理
├── 文档操作
├── 向量嵌入
│
进阶阶段
├── 查询与检索
├── 高级配置
├── 框架集成
│
高级阶段
├── 生产部署
├── 性能优化
├── 最佳实践
Chroma vs 其他向量数据库 #
| 特性 | Chroma | Pinecone | Weaviate | Milvus |
|---|---|---|---|---|
| 开源 | ✅ | ❌ | ✅ | ✅ |
| 本地运行 | ✅ | ❌ | ✅ | ✅ |
| 易用性 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
| 学习曲线 | 低 | 低 | 中 | 高 |
| 云服务 | ✅ | ✅ | ✅ | ✅ |
| 嵌入函数 | 内置 | 需外部 | 内置 | 需外部 |
| 适合场景 | 原型/中小型 | 生产级 | 企业级 | 大规模 |
快速开始 #
安装 #
bash
pip install chromadb
第一个程序 #
python
import chromadb
chroma_client = chromadb.Client()
collection = chroma_client.create_collection(name="my_collection")
collection.add(
documents=["这是第一个文档", "这是第二个文档", "这是第三个文档"],
ids=["id1", "id2", "id3"]
)
results = collection.query(
query_texts=["第一个"],
n_results=2
)
print(results)
核心概念预览 #
集合(Collection) #
python
collection = chroma_client.create_collection(
name="documents",
metadata={"description": "文档存储"}
)
文档(Document) #
python
collection.add(
documents=["文档内容"],
metadatas=[{"source": "web"}],
ids=["doc1"]
)
嵌入(Embedding) #
python
from chromadb.utils import embedding_functions
embedding_function = embedding_functions.SentenceTransformerEmbeddingFunction(
model_name="all-MiniLM-L6-v2"
)
查询(Query) #
python
results = collection.query(
query_texts=["搜索内容"],
n_results=5,
where={"source": "web"}
)
适用场景 #
- RAG 应用:检索增强生成、知识库问答
- 语义搜索:文档搜索、内容推荐
- 相似性匹配:去重、聚类分析
- 推荐系统:内容推荐、个性化排序
- 多模态搜索:图像搜索、跨模态检索
Chroma 的优势 #
text
✅ 简单易用
- 纯 Python 实现
- API 设计直观
- 零配置启动
✅ 功能完整
- 内置嵌入函数
- 支持元数据过滤
- 支持多种存储后端
✅ 开源免费
- Apache 2.0 许可
- 活跃的社区
- 持续更新
✅ 生产就绪
- 持久化存储
- 分布式支持
- 云服务可用
资源推荐 #
- Chroma GitHub:Chroma 源码和问题反馈
- Chroma 官方文档:官方文档
- Chroma Discord:社区讨论
- Chroma Twitter:最新动态
开始学习 #
选择适合你的起点:
继续探索本指南,逐步掌握 Chroma 技术,从新手成长为向量数据库应用开发专家!
最后更新:2026-04-04