Chroma 向量存储。
Chroma 是一个以开发者生产力和幸福感为核心的 AI 原生开源向量数据库。Chroma 采用 Apache 2.0 许可证。在此页面查看 Chroma 的完整文档,在此页面查找 LangChain 集成的 API 参考。
Chroma CloudChroma Cloud 提供无服务器向量和全文搜索,速度极快、成本效益高、可扩展且无痛使用。只需 30 秒即可创建数据库并使用 5 美元免费额度试用。开始使用 Chroma Cloud
设置
要访问Chroma 向量存储,您需要安装 langchain-chroma 集成包。
凭据
您可以在没有任何凭据的情况下使用Chroma 向量存储,只需安装上面的包即可!
如果您是 Chroma Cloud 用户,请设置您的 CHROMA_TENANT、CHROMA_DATABASE 和 CHROMA_API_KEY 环境变量。
安装 chromadb 包时,您还可以使用 Chroma CLI,它可以帮您设置这些变量。首先通过 CLI 登录,然后使用 connect 命令:
初始化
基本初始化
以下是基本初始化方式,包括使用目录在本地保存数据。本地运行(内存模式)
只需使用集合名称和您的嵌入提供商实例化一个Chroma 实例,即可在内存中运行 Chroma 服务器:
本地运行(带数据持久化)
您可以提供persist_directory 参数,以便在程序多次运行之间保存数据:
连接到 Chroma 服务器
如果您在本地运行 Chroma 服务器,或者已经自行部署了一个,可以通过提供host 参数连接到它。
例如,您可以使用 chroma run 在本地启动 Chroma 服务器,然后用 host='localhost' 连接它:
port、ssl 和 headers 参数自定义连接。
Chroma Cloud
Chroma Cloud 用户也可以使用 LangChain 进行构建。为您的Chroma 实例提供 Chroma Cloud API 密钥、tenant 和数据库名称:
从客户端初始化
您也可以从Chroma 客户端初始化,如果您希望更方便地访问底层数据库,这特别有用。
本地运行(内存模式)
本地运行(带数据持久化)
连接到 Chroma 服务器
例如,如果您在本地运行 Chroma 服务器(使用chroma run):
Chroma Cloud
设置CHROMA_API_KEY、CHROMA_TENANT 和 CHROMA_DATABASE 后,只需实例化:
访问您的 Chroma 数据库
创建 Chroma 向量存储
管理向量存储
创建向量存储后,您可以通过添加和删除不同条目来与其进行交互。向向量存储添加条目
我们可以使用add_documents 函数向向量存储添加条目。
更新向量存储中的条目
将文档添加到向量存储后,我们可以使用update_documents 函数更新现有文档。
从向量存储删除条目
我们也可以从向量存储中删除条目,如下所示:查询向量存储
创建向量存储并添加相关文档后,您很可能希望在运行链或智能体时对其进行查询。直接查询
相似度搜索
执行简单的相似度搜索如下:带分数的相似度搜索
如果您想执行相似度搜索并获取对应分数,可以运行:按向量搜索
您也可以按向量进行搜索:其他搜索方法
还有多种其他搜索方法未在本笔记本中介绍,例如 MMR 搜索。有关Chroma 可用搜索功能的完整列表,请查看 API 参考。
转换为检索器进行查询
您还可以将向量存储转换为检索器,以便在链中更方便地使用。有关可以传入的不同搜索类型和参数的更多信息,请访问此处的 API 参考。用于检索增强生成
有关如何将此向量存储用于检索增强生成(RAG)的指南,请参阅以下章节:API 参考
有关所有Chroma 向量存储功能和配置的详细文档,请前往 API 参考:python.langchain.com/api_reference/chroma/vectorstores/langchain_chroma.vectorstores.Chroma.html
通过 MCP 将这些文档连接到 Claude、VSCode 等,获取实时答案。

