詳細解釋
2022 年開源的向量數據庫,主打「AI 原生、開發者友好」,迅速成為構建 RAG 應用的默認選擇之一。
設計哲學:
- 簡潔:安裝只需 pip install chromadb,無需配置數據庫服務器
- Python 優先:API 設計符合 Python 習慣,與 LangChain、LlamaIndex 深度整合
- 嵌入式:可內嵌於 Python 進程(無需單獨服務器),也支持客戶端-服務器模式
核心功能:
- 向量存儲:存儲嵌入向量 + 元數據 + 文檔內容
- 相似度搜索:余弦相似度、歐氏距離
- 過濾:metadata 過濾(如 {"category": "tech"})
- 多模態:支持圖像嵌入(CLIP)、文本嵌入
架構特點:
- 存儲後端:默認 SQLite,可換 PostgreSQL、S3
- 索引:默認 HNSW,支持近似最近鄰(ANN)
- 部署:本地、Docker、Kubernetes、Chroma Cloud(託管服務)
與競品對比:
- vs Pinecone:Chroma 開源可自託管,Pinecone 全託管閉源
- vs Weaviate:Weaviate 功能更全面(GraphQL、模塊化),Chroma 更簡潔
- vs Qdrant:兩者都輕量,Chroma 更 Pythonic,Qdrant 用 Rust 性能更高
- vs Milvus:Milvus 企業級(分布式、多租戶),Chroma 適合中小型應用
採用情況:
- 教程和示例項目中的默認選擇
- 初創公司的 RAG 原型首選
- 被 LangChain、LlamaIndex、Vercel AI SDK 官方支持
局限:超大規模(十億級向量)場景下性能不如專用向量數據庫(Milvus、 specialized 方案)。