🔑 开始

Chroma 是一个 AI 原生的开源向量数据库。它配备了您入门所需的一切,内置并在您的机器上运行。托管版本即将推出!

 1. 安装#

2. 创建 Chroma 客户端#

1
2
3
import chromadb

chroma_client = chromadb.Client()

3. 创建集合#

集合是您将存储嵌入、文档和任何其他元数据的地方。您可以创建具有名称的集合:

1
collection = chroma_client.create_collection(name="my_collection")

4. 将一些文本文档添加到集合#

Chroma 将存储您的文本并自动处理嵌入和索引。您还可以自定义嵌入模型。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
collection.add(

documents=[

"This is a document about pineapple",

"This is a document about oranges"

],

ids=["id1", "id2"]

)

5. 查询集合#

您可以使用查询文本列表查询集合,Chroma 将返回 n 个最相似的结果。就这么简单!

1
2
3
4
5
6
7
8
9
results = collection.query(

query_texts=["This is a query document about hawaii"], # Chroma will embed this for you

n_results=2 # how many results to return

)

print(results)

6. 检查结果#

从上面的查询中 - 您可以看到我们关于夏威夷的查询在语义上与关于菠萝的文档最相似。从直觉上看,这是有道理的!

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{

'documents': [[

'This is a document about pineapple',

'This is a document about oranges'

]],

'ids': [['id1', 'id2']],

'distances': [[1.0404009819030762, 1.243080496788025]],

'uris': None,

'data': None,

'metadatas': [[None, None]],

'embeddings': None,

}

7. 亲自试一试#

例如 - 如果我们尝试查询“这是一份关于佛罗里达的文档”怎么办?

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import chromadb

chroma_client = chromadb.Client()

# switch `create_collection` to `get_or_create_collection` to avoid creating a new collection every time

collection = chroma_client.get_or_create_collection(name="my_collection")

# switch `add` to `upsert` to avoid adding the same documents every time

collection.upsert(

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)

📚后续步骤指南

  • 📖阅读使用 GUIDE

  • 请访问使用 GUIDE深入了解 API 的各项功能和使用方法。

  • 🔧部署 CHROMA

  • 查阅部署指南学习如何将 CHROMA 安装并运行在您的服务器上。

  • 💬加入 DISCORD 社区

  • 欢迎加入我们的 Discord 社区 Discord 社区,在这里您可以提问并与其他用户交流心得。

  • 🔔关注 TWITTER

  • 为了及时获取 CHROMA 的最新动态,请关注我们的 Twitter 账号Twitter (@trychroma)。 aaaaaaa注意:以上提供的链接和信息可帮助您更好地使用和了解 CHROMA。