在ChromaDB中向集合添加嵌入和元数据


文档摘要

在ChromaDB中向集合添加嵌入和元数据 本教程将指导您如何在ChromaDB中向集合添加嵌入和元数据。 创建集合 我们首先初始化ChromaDB客户端,并创建一个名为 的集合。 添加嵌入和元数据 我们使用 方法向集合中添加两个假设的嵌入(代表坐标)以及相关的元数据(关于矩阵宇宙中位置的信息)。每个嵌入和元数据都与一个唯一的ID相关联。 仅添加元数据而无需文档,在以下几种场景中会非常有用: 外部文档存储:由于文档体积较大或出于安全考虑,实际文档可能存储在外部系统中。在这种情况下,元数据可以包含指向外部系统中实际文档的引用或链接。 隐私顾虑:在某些情况下,出于隐私或法规要求,实际文档无法存储。然而,元数据不包含敏感信息,因此可以存储并用于分析。

在ChromaDB中向集合添加嵌入和元数据

本教程将指导您如何在ChromaDB中向集合添加嵌入和元数据。

1. 创建集合

client = chromadb.Client() locations_collection = client.create_collection(name="locations")

我们首先初始化ChromaDB客户端,并创建一个名为locations的集合。

2. 添加嵌入和元数据

locations_collection.add( embeddings=[[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]], metadatas=[ {"location": "Zion", "description": "Last human city"}, {"location": "Machine City", "description": "City inhabited by machines"}, ], ids=["loc_1", "loc_2"], )

我们使用add方法向集合中添加两个假设的嵌入(代表坐标)以及相关的元数据(关于矩阵宇宙中位置的信息)。每个嵌入和元数据都与一个唯一的ID相关联。

仅添加元数据而无需文档,在以下几种场景中会非常有用:

  • 外部文档存储:由于文档体积较大或出于安全考虑,实际文档可能存储在外部系统中。在这种情况下,元数据可以包含指向外部系统中实际文档的引用或链接。

  • 隐私顾虑:在某些情况下,出于隐私或法规要求,实际文档无法存储。然而,元数据不包含敏感信息,因此可以存储并用于分析。

  • 效率考量:存储和检索元数据可能比处理大型文档更高效,尤其是在分析或操作过程中并不需要这些文档时。

  • 预处理数据:在某些情况下,文档可能已被预处理成更有用的形式(如嵌入),原始文档已不再需要。元数据可以为预处理后的数据提供额外的上下文信息。

3. 统计集合中的条目数量

item_count = locations_collection.count() print(f"Count of items in collection: {item_count}")

我们可以使用count method. Since we have added two embeddings to our collection, the count returns 2统计集合中的条目数量。

4. 从集合中检索条目

items = locations_collection.get() print(items)

我们可以使用get method. By default, this will return a dictionary with the ids, metadatas, and documents (in our case, None) of the items in the collection.

Please refer to the add_emb_meta.py文件从集合中检索所有条目。完整的Python代码请参阅本教程。

免责声明
本文档采用基于机器的 AI 翻译服务进行翻译。尽管我们力求准确,但请注意,自动翻译可能存在错误或不准确之处。应以原文的母语文档作为权威依据。如需获取关键信息,建议使用专业的人工翻译。对于因使用本翻译而产生的任何误解或误读,我们概不负责。


发布者: 作者: 转发
评论区 (0)
U