使用 Python 和 langchain 从 ChromaDb 获取所有文档

use*_*793 12 langchain chromadb py-langchain

我正在使用 langchain 来处理 Mongo 数据库中的一大堆文档。

我可以使用 langchain 将所有文档加载到 chromadb 矢量存储中。这里没有什么花哨的事情。这是我的代码:


from langchain.embeddings.openai import OpenAIEmbeddings
embeddings = OpenAIEmbeddings()

from langchain.vectorstores import Chroma
db = Chroma.from_documents(docs, embeddings, persist_directory='db')
db.persist()

Run Code Online (Sandbox Code Playgroud)

现在,存储数据后,我想获取所有带有 id 的文档和嵌入的列表。

这样我就可以将它们存储回 MongoDb 中。

我还想将它们通过 Bertopic 来获取主题类别。

问题1:如何获取刚刚存储在Chroma 数据库中的所有文档?我想要文档和所有元数据。

非常感谢您的帮助!

小智 12

查看源代码(https://github.com/hwchase17/langchain/blob/master/langchain/vectorstores/chroma.py

您可以拨打下面的电话

db.get()
Run Code Online (Sandbox Code Playgroud)

您将获得包含 id、嵌入和文档数据的 json 输出。


Kar*_*nil 5

创建数据库后,您可以使用数据库持久目录单独创建客户端,如下所示

import chromadb
client = chromadb.Client(Settings(is_persistent=True,
                                    persist_directory= <PERSIST_DIR_NAME>,
                                ))
coll = client.get_collection("<name of the collection>")
coll.get() # Gets all the data

Run Code Online (Sandbox Code Playgroud)

您还可以获得包含所有嵌入信息、元数据、源和文档的 JSON。