OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  代码  ›  Chroma — 轻量向量数据库

Chroma — 轻量向量数据库

 
  unittest ·  2026-02-28 00:42:39 · 2 次点击  · 0 条评论  

Chroma
Chroma

Chroma - 面向 AI 的开源搜索引擎
构建能够搜索您数据的 Python 或 JavaScript LLM 应用的最快方式!

Discord | License | 文档 | 主页

pip install chromadb # python 客户端
# 对于 JavaScript,运行 npm install chromadb!
# 对于客户端-服务器模式,运行 chroma run --path /chroma_db_path

Chroma Cloud

我们的托管服务 Chroma Cloud 提供无服务器向量搜索、混合搜索和全文搜索。它极其快速、经济高效、可扩展且易于使用。创建数据库并使用 5 美元的免费额度在 30 秒内体验。

立即开始使用 Chroma Cloud

API

核心 API 仅包含 4 个函数(运行我们的 💡 Google Colab):

import chromadb
# 为方便原型设计,在内存中设置 Chroma。可以轻松添加持久化!
client = chromadb.Client()

# 创建集合。也支持 get_collection, get_or_create_collection, delete_collection!
collection = client.create_collection("all-my-documents")

# 向集合添加文档。也支持更新和删除。基于行的 API 即将推出!
collection.add(
    documents=["这是文档1", "这是文档2"], # 我们自动处理分词、嵌入和索引。您也可以跳过此步骤,添加自己的嵌入向量
    metadatas=[{"source": "notion"}, {"source": "google-docs"}], # 可基于此过滤!
    ids=["doc1", "doc2"], # 每个文档的唯一标识符
)

# 查询/搜索最相似的 2 个结果。您也可以通过 id 进行 .get 操作
results = collection.query(
    query_texts=["这是一个查询文档"],
    n_results=2,
    # where={"metadata_field": "is_equal_to_this"}, # 可选过滤器
    # where_document={"$contains":"search_string"}  # 可选过滤器
)

在我们的文档中了解所有功能。

特性

  • 简单:完全类型化、完全测试、完全文档化 == 开发愉悦
  • 集成:支持 🦜️🔗 LangChain(Python 和 JS)、🦙 LlamaIndex,更多集成即将推出
  • 开发、测试、生产:在您的 Python 笔记本中运行的相同 API,可扩展到您的集群
  • 功能丰富:查询、过滤、正则表达式等
  • 免费且开源:Apache 2.0 许可

用例:用于 ______ 的 ChatGPT

例如,"与您的数据对话" 用例:
1. 将文档添加到您的数据库。您可以传入自己的嵌入向量、嵌入函数,或让 Chroma 为您嵌入。
2. 使用自然语言查询相关文档。
3. 将文档组合到像 GPT4 这样的 LLM 的上下文窗口中,进行额外的摘要或分析。

嵌入?

什么是嵌入?

  • 阅读 OpenAI 的指南
  • 字面含义:嵌入是将图像/文本/音频转换为数字列表的过程。🖼️ 或 📄 => [1.2, 2.1, ....]。这个过程使文档对机器学习模型变得“可理解”。
  • 类比:嵌入代表了文档的本质。这使得具有相同本质的文档和查询彼此“接近”,从而易于查找。
  • 技术角度:嵌入是文档在深度神经网络某一层的潜在空间位置。对于专门训练来嵌入数据的模型,这是最后一层。
  • 一个小例子:如果您在照片中搜索“旧金山著名的桥梁”。通过嵌入此查询并将其与您的照片及其元数据的嵌入进行比较,它应该返回金门大桥的照片。

Chroma 允许您存储这些向量或嵌入,并通过最近邻搜索而非传统数据库的子字符串匹配进行搜索。默认情况下,Chroma 使用 Sentence Transformers 为您嵌入,但您也可以使用 OpenAI 嵌入、Cohere(多语言)嵌入或您自己的嵌入。

参与贡献

Chroma 是一个快速发展的项目。我们欢迎 PR 贡献者以及对如何改进项目的想法。
- 加入 Discord 上的讨论 - #contributing 频道
- 查看 🛣️ 路线图并贡献您的想法
- 认领一个 Issue 并提交 PR - Good first issue 标签
- 阅读我们的贡献指南

发布节奏
我们目前每周一发布 pypinpm 包的新标记版本。热修复会在周内随时发布。

许可证

Apache 2.0

2 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor