Chroma 1.5.9 介绍与选型指南
Chroma 1.5.9 介绍与选型指南:开源 AI 检索基础设施,嵌入/服务两种运行形态、稠密稀疏检索与元数据过滤,附 Milvus/Qdrant/pgvector 量化对比与选型建议
Chroma 1.5.9 介绍与选型指南
一、信息基准
- 查询日期:2026-10-18
- 版本依据:开源最新稳定版 v1.5.9。GitHub Releases feed 显示 1.5.9 更新于 2026-05-05;PyPI 官方源 chromadb 包最新版本同为 1.5.9(上传时间 2026-05-05),双源一致。
| 信息项 | 内容 | 官方来源 |
|---|---|---|
| 最新稳定版 | v1.5.9(2026-05-05) | github.com/chroma-core/chroma/releases.atom;pypi.org/project/chromadb |
| 前序版本 | v1.5.8(2026-04-08)、v1.5.7(2026-04-08) | 同上 releases.atom |
| 开源许可 | Apache-2.0(仓库 LICENSE 徽章,官网亦标注 "Open-source Apache 2.0") | github.com/chroma-core/chroma;trychroma.com |
| GitHub stars | 约 30k(shields.io 徽章 2026-10-18 查询;官网自标 27k) | shields.io/github/chroma-core/chroma |
| 定位(官方原话) | "Chroma is the open-source data infrastructure for AI" | docs.trychroma.com/docs/overview/introduction |
| 商业层 | Chroma Cloud(托管服务,含 collection forking、Schema、Search API 等增强) | docs.trychroma.com/cloud |
二、软件概述
本文介绍的版本为 Chroma v1.5.9(2026-10-18 查询时的官方最新稳定版)。
Chroma 是开源的 AI 检索基础设施(官方原话 "the open-source data infrastructure for AI"),常被归为向量数据库一类。它围绕检索(Retrieval)需求内建了完整链路:带元数据地存储嵌入向量,支持稠密与稀疏向量检索,可按元数据过滤,并能对文本、图像等多模态数据统一取回(官方文档 Overview 表述)。开发体验是它的突出优点:pip install chromadb 后即可在进程内直接使用(嵌入模式),也可切换到客户端-服务器模式(chroma run),Python 与 JavaScript/TypeScript 双客户端均有官方维护。项目采用 Apache-2.0 许可,GitHub stars 约 30k(2026-10-18 查询),是 AI 应用原型阶段最常用的向量检索组件之一;另有 Chroma Cloud 托管服务承接生产规模场景。
三、核心概念
3.1 Collection
Collection 是向量数据的组织单元,相当于关系库中的表。一个 Collection 内存储 Document、Embedding 与 Metadata,并对其建立索引以支持高效检索;官方文档提供 create/get/modify/delete 全套管理接口。
3.2 Document、Embedding 与 Metadata
Document 是原始文本(或多模态内容),Embedding 是其向量化表示,Metadata 是随行的结构化标签(如来源、时间、分类)。查询时可按元数据条件过滤。
3.3 嵌入函数(Embedding Functions)
官方内建常用嵌入函数:调用 add/query 时若只给文本,Chroma 会自动完成向量化;也允许自带向量直接写入。另有 Multimodal Embeddings 支持图像等多模态内容。
3.4 运行形态
- 嵌入模式(in-process/in-memory):随应用进程启动,零部署,适合原型(官方提示该形态数据不持久)。
- 持久化客户端:数据落盘到本地目录。
- 客户端-服务器模式:
chroma run --path /启动服务端,Python/JS 客户端通过网络访问(README 原文用法)。 - Chroma Cloud:官方托管形态。
3.5 索引与检索
本地形态使用 HNSW 类向量索引(官方 CLI 提供 HNSW 配置修复工具);检索支持稠密向量、稀疏向量、全文与正则匹配,配合元数据过滤组成混合查询。
四、功能特性
4.1 检索能力
稠密向量语义检索、稀疏向量关键词检索、全文检索与正则过滤、元数据条件过滤可组合使用,覆盖 RAG 与语义搜索的常见查询形态。
4.2 写入与事务
支持 add/insert、update、upsert、delete 全套写入语义;官方文档还提供条件事务(conditional transactions,乐观的集合级读-查-写流程)与批量操作。
4.3 多模态与嵌入函数生态
内建多模态嵌入函数,文本、图像可在同一 Collection 体系内表示与检索。
4.4 CLI 与运维工具
官方 CLI 支持:本地起服务(chroma run)、终端内浏览 Collection(browse)、本地与 Cloud 之间复制集合(copy)、空间回收(vacuum)、HNSW 配置修复等。
4.5 商业层增强(Chroma Cloud)
托管服务的增量能力包括:Collection Forking(写时复制的集合分叉)、Schema 配置(稀疏向量索引等索引配置)、Search API(RRF 混合排序、分组聚合、分页)、数据同步(S3/GitHub/网页抓取)等;开源版与 Cloud 的功能边界以官方文档为准。
五、快速上手
以下代码逐行引自官方《Getting Started》(docs.trychroma.com/docs/overview/getting-started):
pip install chromadb
import chromadb
chroma_client = chromadb.Client()
collection = chroma_client.create_collection(name="my_collection")
collection.add(
documents=[
"This is a document about pineapple",
"This is a document about oranges"
],
ids=["id1", "id2"]
)
results = collection.query(
query_texts=["This is a query document about florida"], # Chroma will embed this for you
n_results=2 # how many results to return
)
print(results)
官方同时提示:示例使用 in-memory 客户端,程序退出后数据不保留;需要持久化可改用 persistent client 或客户端-服务器模式(README 中对应命令为 chroma run --path /)。以上为官方文档所述流程,本文不做本地实测。
六、适用场景与限制
6.1 适用场景
- RAG 应用:为 LLM 应用提供文档知识库的向量检索层,是最典型的用法。
- 语义搜索原型:嵌入模式下数行代码即可跑通"写入-查询"闭环,适合 PoC。
- 多模态检索:文本与图像混合内容的应用内检索。
- 本地/离线开发:无外部服务依赖,便于在笔记本或 CI 环境运行。
6.2 限制
- 生产形态需规划:嵌入模式不持久化;单机服务形态在大规模、高并发场景下需要评估容量与可用性,必要时转向 Chroma Cloud 或自行部署集群形态。
- 版本迁移成本:1.x 相对 0.x 有 schema 与迁移变化,官方提供 Migration 指南,跨大版本升级需按指南执行。
- 功能边界:Schema 化索引配置、RRF 混合排序、集合分叉等属于 Cloud 增强,开源版使用前应核对文档确认可用性。
- 高级数据库能力有限:复杂事务、多表关联等关系型能力不在其设计目标内,需要时应与主库配合使用。
七、同类选型对比
对比对象:Milvus(分布式向量数据库)、Qdrant(Rust 实现的向量搜索引擎)、pgvector(PostgreSQL 向量扩展)。数据查询日期均为 2026-10-18,stars 取自 shields.io 徽章,最近发版取自 GitHub Releases feed。
| 维度 | Chroma 1.5.9 | Milvus(milvus-3.0.3) | Qdrant(v1.19.2) | pgvector(v0.8.7) |
|---|---|---|---|---|
| 开源许可 | Apache-2.0 | Apache-2.0(仓库标注) | Apache-2.0(仓库标注) | PostgreSQL License(源码 LICENSE) |
| GitHub stars / 最近发版 | 约 30k / v1.5.9(2026-05-05) | 约 46k / milvus-3.0.3(2026-10-14) | 约 35k / v1.19.2(2026-10-05) | 约 23k / v0.8.7(2026-10-01) |
| 版本节奏 | 1.x 系列 2026 年上半年维持月级补丁 | 发版活跃,3.x 已到 3.0.3 | 补丁月度节奏 | 跟随功能迭代,年多个版本 |
| 兼容矩阵(部署/接口) | 进程内嵌入 + 单机服务 + Cloud;Python/JS 客户端 | 独立分布式架构,组件多、运维重;SDK 丰富 | 单二进制服务为主,REST/gRPC | PostgreSQL 扩展,SQL 接口,复用现有 PG 生态 |
| 典型角色 | AI 应用快速集成与原型 | 亿级向量大规模生产 | 注重过滤与性能的中等规模生产 | 已有 PostgreSQL 且向量规模可控 |
选型建议:追求开发速度、嵌入应用内或快速验证 RAG 原型,Chroma 上手最快;需要亿级规模与分布式水平扩展,选 Milvus;在意单机性能与过滤灵活性,选 Qdrant;想直接在现有 PostgreSQL 里做向量检索、不引入新组件,pgvector 最省事。
八、参考链接
- 官方网站:https://www.trychroma.com/
- 官方文档首页与概览:https://docs.trychroma.com/docs/overview/introduction
- Getting Started(快速上手原文):https://docs.trychroma.com/docs/overview/getting-started
- 文档索引(llms.txt):https://docs.trychroma.com/llms.txt
- GitHub 仓库:https://github.com/chroma-core/chroma
- Releases feed:https://github.com/chroma-core/chroma/releases.atom
- PyPI 包页(版本交叉核验):https://pypi.org/project/chromadb/
- stars 数据徽章:https://img.shields.io/github/stars/chroma-core/chroma.svg