跳到主要内容
Vantaige
Chroma screenshot
Chroma logo

Chroma

免费增值

Chroma 是开发者在构建 RAG 管道时首选的开源嵌入数据库。采用 Apache 2.0 许可,只需一行代码即可安装,并因其极简的四函数 API 而备受青睐。生产规模是其已知的限制,在投入使用前值得深入了解。

使用场景:代码与开发
功能:APIOpen Source

Chroma 是一款专为 AI 应用开发者打造的开源嵌入数据库,旨在帮助他们存储和检索向量嵌入,而无需承担基础设施的开销。该公司由 Jeff Huber(CEO)和 Anton Troynikov(CTO)于 2022 年 4 月在旧金山创立,并在 2023 年 4 月筹集了 $18M 的种子轮融资。如今,它已成为开发者社区中被引用最广泛的向量数据库之一,截至 2026 年 4 月,在 GitHub 上拥有 27.7k 颗星。其核心采用 Apache 2.0 许可,只需一条 pip install chromadb 命令即可安装,并且在开发模式下运行时无需单独的服务器。

其 API 包含四个主要操作:创建集合、添加嵌入、查询和删除。这种刻意保持的极简主义涵盖了大多数 RAG 原型的需求。除了基础 API 之外,Chroma 还支持稠密向量相似度搜索、全文搜索、稀疏向量检索(于 2025 年 11 月添加了 BM25 和 SPLADE)、元数据过滤以及正则表达式搜索。2025 年使用 Rust 重写的核心实现了真正的多线程,使写入和查询速度提升了 3-5x。托管版本 Chroma Cloud 于 2025 年 8 月全面上市,提供无服务器定价、SOC 2 Type II 合规性,以及跨内存缓存、SSD 和对象存储的数据分层功能。

截至 2026 年 4 月,Chroma 的实际功能

根据项目所处的阶段,Chroma 提供三种运行模式。在嵌入模式下,它在您的 Python 或 JavaScript 进程中运行,无需网络跳转,且零配置。在客户端-服务器模式下,chroma run 会启动一个本地 HTTP 服务器,您可以使用官方 SDK 从任何语言进行访问。Chroma Cloud 则提供具有自动扩展功能的托管版本,并在 Starter 计划中赠送 $5 的免费额度。

当前版本(v1.5.8,2026 年 4 月 16 日)支持将集合作为主要的组织单元。每个集合都保存着嵌入及其源文档和任意元数据。查询可以通过嵌入向量、文档文本(自动嵌入)、元数据过滤器或任意组合来进行。2025 年 11 月新增的稀疏向量搜索意味着混合检索(稠密 + 关键词)现在已成为一等公民,而不再是一种变通方案。

2025 年的 Rust 核心重写是 Chroma 最重要的技术里程碑。最初的 Python 实现受到全局解释器锁的限制,阻碍了真正的并行处理。Rust 重写消除了这一瓶颈,并在 1M 个 OpenAI 1536 维嵌入的测试中,实现了写入和查询速度 3-5x 的提升。同时还添加了 JavaScript、Ruby 和 Swift 的原生绑定,这意味着 Chroma 不再是一个仅以 Python 为首选的工具。通过 JS 绑定,还可以实现基于 WASM 的浏览器部署。

2025 年底推出的 Chroma Sync 负责处理来自 GitHub 仓库、S3 存储桶和网页的自动数据摄取:包括抓取、分块、嵌入和索引,而无需手动管理管道。这专为那些希望为 RAG 提供托管数据层而不仅仅是存储后端的团队而设计。

Chroma 与 Qdrant 和 pgvector 的定位对比

在开发者关于“将嵌入存储在哪里”的讨论中,有三款工具占据主导地位:Chroma、Qdrant 和 pgvector。它们占据着截然不同的定位。

Qdrant 从头开始使用 Rust 编写(并非重写,从第一天起就是原生的),专为生产规模的过滤向量搜索而设计。其带有有效载荷过滤的 HNSW 索引允许您将相似度匹配与元数据约束(数值范围、文本匹配、地理坐标)结合起来,同时在大规模下保持低于 5ms 的查询时间。Qdrant 将分布式多节点集群作为一等功能提供支持,并在生产环境中处理十亿级向量工作负载。Chroma 的 Rust 重写缩小了原始性能差距,但 Qdrant 的分布式架构是结构性的。Chroma 集合本质上是单节点的,而 Qdrant 集群则不然。

pgvector 是一个 PostgreSQL 扩展,而不是一个独立的数据库。向量、文档和应用程序数据共享同一个表、同一个事务和相同的 SQL 查询。已经运行 Postgres 的团队(大多数后端技术栈)可以添加 pgvector,而无需新的凭据、同步管道或要监控的基础设施。pgvector 在标准的 Postgres 实例上可以轻松扩展到 5M 个向量,并默认提供 ACID 保证。其权衡在于:pgvector 没有嵌入式内存模式,即使在开发中也需要运行 Postgres 服务器,并且对于还不精通 SQL 的团队来说,缺乏 Chroma 那样的 Python 原生 API。

大多数团队最终得出的实用决策树是:使用 Chroma 进行本地开发和原型设计;如果您的后端已经运行 Postgres,则评估 pgvector;如果您需要生产级分布式或十亿级索引,则迁移到 Qdrant(或 Weaviate、Pinecone)。Chroma 的社区指南中有一份名副其实的“生产之路”指南,公开建议在大规模应用时考虑替代方案,这对于供应商自己的文档来说是极其坦诚的。

"如果您拥有强大的硬件并需要快速构建原型,ChromaDB 通常是一个不错的选择。但如果您计划投入生产,迁移到更成熟的解决方案才是明智之举。" - Olexander Hryhor,AltexSoft 解决方案架构师,2025

日常开发工作流是怎样的

典型的 Chroma 工作流从终端开始。安装、导入、创建客户端、创建集合、添加文档及其嵌入、按文本查询。一个可用的 RAG 检索管道只需五到十行 Python 代码即可实现,通常在一台新机器上不到十五分钟就能搞定。在嵌入模式下无需启动服务器,无需配置 API 密钥,也无需预先定义模式。

LangChain 和 LlamaIndex 都将 Chroma 视为一等集成。在这两个框架中将 Chroma 设置为向量存储只需一行代码。这就是为什么 Chroma 出现在大多数 RAG 教程中的原因:实现可用演示的门槛低于任何其他替代方案。

摩擦往往出现在向实际应用过渡的阶段。从嵌入模式切换到客户端-服务器模式需要运行一个单独的进程。迁移到 Chroma Cloud 需要更新客户端初始化并管理 API 密钥。这两者都不复杂,但都需要做一些额外工作,这往往会让那些以为“它会自动扩展”的开发者措手不及。

在 2025 年 8 月 Chroma Cloud 于 Hacker News 发布时,针对大型数据集的摄取体验受到了一些批评。一位开发者报告说,索引 1.2M 份文档花费了数天时间,而且过程很脆弱。团队承认了这一点,并指出 Chroma Sync 是结构化的解决方案,但需要批量加载数千万份文档的用户在决定使用该平台之前,应先测试摄取时间。

"我选择 ChromaDB 的主要原因是它允许你对结果进行调试。它为你处理管道和实验提供了更多的空间。" - Ismail Aslan,AltexSoft 机器学习工程师,2025

Chroma 是为谁打造的

Chroma 专为处于 AI 应用早中期阶段的开发者打造。具体包括:正在为检索管道制作原型,并希望在不重新架构基础设施的情况下更换嵌入模型的机器学习工程师;正在构建 RAG 概念验证以供利益相关者审查的数据科学家;正在集成语义搜索,但不希望配置和管理独立数据库服务的应用开发者;以及 LangChain 或 LlamaIndex 生态系统中希望获得零配置本地后端的团队。

Chroma Cloud 将目标受众扩展到了具有中等并发量且集合在几百万个向量以内的小型生产部署。每月 $250 的 Team 计划包含 SOC 2 合规性和 Slack 支持,这涵盖了许多早期 SaaS 产品的需求。

社区将 Chroma 描述为“向量世界的 SQLite”,这个比喻在两个方面都很准确:采用速度快,在开发中被广泛使用,但其已记录的限制也会让严苛的生产流量转向其他解决方案。

Chroma 不是什么

Chroma 不是分布式数据库。开源版本是单节点的。没有内置的复制或高可用性机制。如果运行 Chroma 的机器宕机,服务就会中断。这对于开发来说没问题,对于小型内部工具也是可以接受的。但对于需要 99.9%+ 正常运行时间的生产系统来说,这是一个显著的短板。

Chroma 在开源版本中不提供多租户隔离。如果构建一个必须隔离不同客户数据的 SaaS 产品,要么需要为每个租户建立单独的集合(在小规模下可管理,但在数百个租户时会很痛苦),要么需要采用不同的数据库架构。

Chroma 不支持 GPU 加速的向量搜索。所有的索引和检索都是基于 CPU 的。对于数亿个向量的工作负载,或者在高并发下需要亚毫秒级延迟的场景,仅依赖 CPU 的搜索将成为瓶颈。

以 Azure 为主的团队会面临额外的阻力:Chroma 没有原生的 Azure 集成。在 Azure 上部署需要使用 Docker 容器,而不是第一方托管服务支持。深度投资于 Azure 生态系统的团队可能会发现 Azure AI Search 或 Cosmos DB 操作起来更简单。

Chroma Cloud 的发布时间线也值得注意。Chroma Cloud 曾承诺于 2023 年底推出,但直到 2025 年 8 月才全面上市,晚了大约两年。该产品发布时功能扎实,但跳票时间之长,使得许多需要托管服务的开发者已经转向了 Pinecone 或 Weaviate。这种延迟是否会影响您的决定,取决于 Chroma Cloud 在您的架构中的核心地位,以及与自托管选项的对比。

用户评价

暂无评价,快来分享你的第一条体验吧!

登录 后即可撰写评价。

收录于精选合集

包含 Chroma 的精选合集。

相关文章

与 Chroma 相关的指南和文章。