AI向量数据库chromadb的swagger-ui的运行使用教程

🚀 Chroma v2 API 快速使用指南

你现在打开的是 ChromaDB v2 版本的 Swagger UI 文档localhost:8000/docs),这是新版多租户/多数据库架构的 API 接口。下面我一步步教你怎么用它来操作集合、插入和查询数据。


1. 先理解核心概念

  • Tenant(租户) :默认是 default_tenant
  • Database(数据库) :默认是 default_database
  • CRN(Chroma Resource Name) :格式为 crn:{tenant}:{database}:{collection_name},用来唯一标识一个集合

2. 常用接口操作示例(以 HTTP 请求为例)

🔐 1)查看当前用户身份

http 复制代码
GET /api/v2/auth/identity

作用 :确认你当前连接的租户和数据库信息。
响应示例

json 复制代码
{
  "user_id": "default_user",
  "tenant": "default_tenant",
  "database": "default_database"
}

📚 2)列出所有集合

http 复制代码
GET /api/v2/tenants/{tenant}/databases/{database}/collections

替换参数

  • {tenant}default_tenant
  • {database}default_database

作用:获取当前数据库下的所有集合名称。


🆕 3)创建一个新集合

http 复制代码
POST /api/v2/tenants/{tenant}/databases/{database}/collections
Content-Type: application/json

{
  "name": "my_collection",
  "metadata": {"description": "测试集合"}
}

作用 :创建名为 my_collection 的集合。
成功响应 :会返回该集合的 CRN,比如 crn:default_tenant:default_database:my_collection


📄 4)按 CRN 获取集合信息

http 复制代码
GET /api/v2/collections/{crn}

替换参数

  • {crn} → 上一步得到的 crn:default_tenant:default_database:my_collection

作用:查看集合的元数据、配置等信息。


➕ 5)向集合中添加数据(核心操作)

接口路径:POST /api/v2/collections/{crn}/add

(在 Swagger 里往下翻就能找到)

请求体示例

json 复制代码
{
  "ids": ["id1", "id2"],
  "documents": ["这是第一条文档", "这是第二条文档"],
  "embeddings": [[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]],
  "metadatas": [{"source": "test"}, {"source": "test"}]
}

如果你用了自动 Embedding 模型,embeddings 字段可以省略,Chroma 会自动生成。


🔍 6)查询集合数据

接口路径:POST /api/v2/collections/{crn}/query

请求体示例

json 复制代码
{
  "query_embeddings": [[1.1, 2.1, 3.1]],
  "n_results": 2,
  "include": ["documents", "distances"]
}

作用 :根据向量相似度检索最相似的文档。
响应示例

json 复制代码
{
  "ids": [["id1", "id2"]],
  "documents": [["这是第一条文档", "这是第二条文档"]],
  "distances": [[0.03, 0.15]]
}

3. 在 Swagger UI 里直接测试

  1. 打开 localhost:8000/docs
  2. 点击任意接口(比如 POST /api/v2/tenants/{tenant}/databases/{database}/collections
  3. 点击 Try it out
  4. 填入 tenantdatabase 参数(默认都是 default_tenantdefault_database
  5. 在 Request body 里填入 JSON 数据
  6. 点击 Execute,直接看到响应结果

4. Python 客户端调用(推荐)

如果你不想写原生 HTTP,用新版 chromadb Python 客户端更方便:

python 复制代码
import chromadb
from chromadb.config import Settings

# 连接到本地 Chroma 服务
client = chromadb.HttpClient(host="localhost", port=8000)

# 直接操作默认租户/数据库
coll = client.get_or_create_collection(name="my_collection")

# 添加数据
coll.add(
    ids=["id1", "id2"],
    documents=["这是第一条文档", "这是第二条文档"],
    embeddings=[[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]
)

# 查询数据
results = coll.query(
    query_embeddings=[[1.1, 2.1, 3.1]],
    n_results=2
)
print(results)

5. 关键注意事项

  • 默认租户/数据库 :如果没特别配置,所有操作都用 default_tenantdefault_database 即可。
  • CRN 格式 :必须严格是 crn:{tenant}:{database}:{collection_name},不能写错。
  • 版本兼容 :v2 API 和老版本(v1)不兼容,所以你之前的 PersistentClient 代码如果是本地文件模式,和这个 HTTP 服务是两套不同的运行方式。

相关推荐
小羊没烦恼!1 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
回眸&啤酒鸭1 天前
【回眸】Minicart 电商购物车核心功能落地指南
人工智能
一隅论数智1 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
AI的探索之旅1 天前
97 个 OpenCV 实例(三十):双目立体,从标定到点云
人工智能·opencv·计算机视觉
AlbertZein1 天前
Step-5-Preview 上手实测:3D 游戏、金融分析、网页设计一次跑完
人工智能·aigc
LaughingZhu1 天前
Product Hunt 每日热榜 | 2026-09-19
人工智能·深度学习·神经网络·搜索引擎·百度
美狐美颜SDK开放平台1 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
大蓝头1 天前
安装包UI美化之路-nsNiuniuSkin全新UI调试与预览方法
ui·electron·安装包·截图控件·截屏控件
尧炎科技1 天前
防潮抗变形,就选纯品梅花全桉多层板
大数据