AI

Chroma:开源的 AI 原生向量数据库

Chroma 是一个开源的 AI 原生向量数据库,专为 LLM 应用设计,具备简单 API、自动嵌入和可扩展检索功能。

Keeping this site alive takes effort — your support means everything.
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分! 無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!
Chroma:开源的 AI 原生向量数据库

向量数据库已成为现代 AI 应用的支柱,为从语义搜索到检索增强生成的各种应用提供动力。Chroma 以独特的理念进入这个领域:优先考虑开发者体验和 AI 原生设计,而非原始企业功能。由前 Apple 和 Google 工程师创建,Chroma 已迅速成为 LLM 应用开发者中最受欢迎的选择之一,这些开发者希望能在几分钟内而非几天内从零开始建立可运行的 RAG 系统。

Chroma 的与众不同之处在于其独特的 API 设计。与需要分别执行嵌入生成、索引创建和查询执行的传统向量数据库不同,Chroma 通过可配置的嵌入函数自动处理嵌入。只需几行 Python 代码即可创建集合、添加文档及其嵌入,并执行相似度搜索——无需单独的流水线编排。

该项目获得了大量的社区采用,拥有数万个 GitHub 星标,并获得主要 AI 框架的集成支持。Chroma 从设计之初就是作为 AI 的数据库,而非对现有数据库技术进行向量工作负载的改造。


Chroma 的架构如何工作?

Chroma 的架构围绕集合(collection)的概念建立,集合是向量数据的主要组织单元。

graph TD
    A[Python / JS 客户端] --> B[Chroma API 层]
    B --> C[集合管理器]
    C --> D[(集合 1)]
    C --> E[(集合 2)]
    C --> F[(集合 N)]
    D --> G[嵌入函数]
    D --> H[元数据索引]
    D --> I[(向量索引\nHNSW / IVF)]
    G --> J[OpenAI / Cohere / HF / 自定义]
    K[文档 + 元数据] --> D
    L[查询] --> B
    B --> M[最近邻搜索]
    M --> N[排序结果]

每个集合将向量嵌入与其关联的元数据以及定义文本如何转换为向量的嵌入函数捆绑在一起。这种整体设计消除了其他设置中应用程序代码与数据库模式之间的不匹配问题。


有哪些部署选项?

Chroma 可适应开发生命周期的不同阶段。

模式设置时间持久化最佳适用
内存内数秒原型开发、测试
持久化(本地)数分钟本地磁盘单用户应用
客户端-服务器数分钟服务器端多用户、小型团队
Chroma Cloud即时(SaaS)托管大规模生产

内存内模式对于开发工作流程尤其值得注意。你可以在没有任何数据库服务器进程运行的情况下创建 Chroma 集合、添加数据并执行查询。准备好部署时,只需对代码进行最小的更改即可切换到持久化或客户端-服务器模式。


Chroma 与其他向量数据库相比如何?

向量数据库领域包含几个成熟的参与者,各自具有不同的优势。

功能ChromaPineconeWeaviateQdrant
开源是(Apache 2.0)是(BSD)是(Apache 2.0)
嵌入函数内置外部内置外部
API 风格PythonicREST/gRPCGraphQL/RESTREST/gRPC
元数据过滤
分布式模式即将推出
本地开发简单(进程内)需要云端需要 Docker需要 Docker

Chroma 的主要优势在于其无摩擦的本地开发体验。虽然其他数据库需要 Docker 容器或云端账户才能开始使用,但 Chroma 只需 pip install chromadb 和几行 Python 代码即可直接运行。


常见问题

什么是 Chroma? Chroma 是一个开源的 AI 原生向量数据库,专为 LLM 应用设计。它提供简单的 API 用于存储和检索向量嵌入,具备内置嵌入函数,并能与主流 AI 框架无缝集成。

Chroma 与其他向量数据库有何不同? Chroma 以「AI 原生」理念设计,优先考虑简洁性和开发者体验而非原始性能。它提供自动嵌入、元数据存储和对 AI/ML 开发者来说自然顺手的 Pythonic API。它可以作为进程内或独立服务器运行。

Chroma 支持哪些嵌入函数? Chroma 支持多种嵌入提供者,包括 OpenAI、Cohere、Google、Hugging Face、Sentence Transformers 以及自定义嵌入函数。这种灵活性让开发者可以选择最符合其准确度和成本需求的嵌入模型。

Chroma 可以扩展到生产工作负载吗? 可以,Chroma 支持客户端-服务器模式、分布式索引和可配置持久化的生产部署。Chroma Cloud 为大规模部署提供托管服务,而开源版本适用于从开发到中等规模生产的各种场景。

哪些框架可以与 Chroma 集成? Chroma 与 LangChain、LlamaIndex、Hugging Face 和 OpenAI 具有一级集成。它还提供原生 Python 和 JavaScript 客户端,让后端和前端 AI 应用开发都能使用。


延伸阅读

TAG
CATEGORIES