开源的向量数据库,面向 AI 应用提供嵌入式与云端两种部署方式,接口简洁易用,适合快速搭建 RAG。
它到底是干什么的
Chroma 是一个开源的向量数据库。向量数据库这个词听着唬人,说白了就是专门存“语义向量”的地方——你把文本、图片交给嵌入模型(embedding model)转成一串数字,Chroma 负责把这些数字存起来,并且在你提问时快速找出最相近的几条。大模型本身记不住你的私有文档,RAG(检索增强生成)的做法就是先去知识库里捞相关片段,再塞给模型当上下文。Chroma 干的就是“捞”这一环。
什么人该用它?想快速搭一个 RAG 原型的开发者,尤其是那些不想在数据库运维上耗时间的人。你不需要先研究索引调优、分片策略这些东西,几行代码就能跑起来。
两种用法,按需选
Chroma 提供嵌入式(embedded)和云端(cloud)两种部署方式,这个区分挺关键。
嵌入式模式下,Chroma 作为库直接跑在你的 Python 或 JavaScript 进程里,数据落在本地磁盘。没有独立服务要起,没有网络往返,适合本地开发、Notebook 实验、桌面应用。缺点是它跟着你的进程走,多实例共享数据得另想办法。
云端模式则是托管服务,数据在远端,通过 API 访问。适合要上线、要多端访问、或者团队协作的场景。你不用自己管服务器和备份。
| 维度 | 嵌入式 | 云端 |
|---|---|---|
| 部署 | 进程内库 | 托管 API |
| 数据位置 | 本地磁盘 | 远端 |
| 适用场景 | 原型、本地工具 | 生产、多端共享 |
| 运维负担 | 无 | 由平台承担 |
两种模式共用同一套接口,原型跑通后迁移成本不高。
接口简洁是它最大的卖点
Chroma 的 API 设计走的是“少即是多”路线。创建集合(collection)、添加文档、查询,核心操作就这几个动作。你甚至不用自己算向量——它内置了默认的嵌入函数,传原始文本进去就行,省掉了先调嵌入模型再入库的步骤。当然,你也可以接入自己的嵌入模型,OpenAI、Cohere、Sentence Transformers 都支持。
查询支持按向量相似度检索,也能带元数据过滤,比如“只在某个来源的文档里找”。对于 RAG 场景里常见的“按文档类型或时间范围缩小检索面”,这个够用了。
适合谁,不适合谁
它适合快速验证想法:几十行代码搭出一个能回答私有文档问题的问答机器人,这是 Chroma 的典型用法。也适合中小规模的知识库检索,数据量在百万级以内、对延迟要求不苛刻的场景。
如果你要处理上亿向量、需要复杂的分布式部署和精细的权限控制,那得看更重的方案。Chroma 的定位就是“够用且好上手”,不是把所有企业级需求都塞进来。
开源这一点也值得提:代码在 GitHub 上,本地跑没有供应商锁定,出了问题能自己翻源码。对想搞清楚向量检索内部怎么运作的人,这也是个不错的起点。
常见问题
Chroma 是什么?
开源的向量数据库,面向 AI 应用提供嵌入式与云端两种部署方式,接口简洁易用,适合快速搭建 RAG。
Chroma 的官方网站是什么?
Chroma 的官方网站是 https://www.trychroma.com,可直接在浏览器中打开使用。
