Chroma 1.5.9 介绍与选型指南

Chroma 1.5.9 介绍与选型指南:开源 AI 检索基础设施,嵌入/服务两种运行形态、稠密稀疏检索与元数据过滤,附 Milvus/Qdrant/pgvector 量化对比与选型建议

ChromaChroma向量数据库向量检索向量2026/10/18

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.9Milvus(milvus-3.0.3)Qdrant(v1.19.2)pgvector(v0.8.7)
开源许可Apache-2.0Apache-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/gRPCPostgreSQL 扩展,SQL 接口,复用现有 PG 生态
典型角色AI 应用快速集成与原型亿级向量大规模生产注重过滤与性能的中等规模生产已有 PostgreSQL 且向量规模可控

选型建议:追求开发速度、嵌入应用内或快速验证 RAG 原型,Chroma 上手最快;需要亿级规模与分布式水平扩展,选 Milvus;在意单机性能与过滤灵活性,选 Qdrant;想直接在现有 PostgreSQL 里做向量检索、不引入新组件,pgvector 最省事。

八、参考链接

  1. 官方网站:https://www.trychroma.com/
  2. 官方文档首页与概览:https://docs.trychroma.com/docs/overview/introduction
  3. Getting Started(快速上手原文):https://docs.trychroma.com/docs/overview/getting-started
  4. 文档索引(llms.txt):https://docs.trychroma.com/llms.txt
  5. GitHub 仓库:https://github.com/chroma-core/chroma
  6. Releases feed:https://github.com/chroma-core/chroma/releases.atom
  7. PyPI 包页(版本交叉核验):https://pypi.org/project/chromadb/
  8. stars 数据徽章:https://img.shields.io/github/stars/chroma-core/chroma.svg