javascript 在Langchain JS中实现Qdrant的多租户

8hhllhi2  于 5个月前  发布在  Java
关注(0)|答案(1)|浏览(81)

我想用多个PDF和单个PDF来实现聊天。现在要么我必须为每个PDF创建不同的集合,要么一个集合包含所有PDF的所有向量,我和Qdrant的人讨论过这个问题,他们建议我使用他们的多租户,我们创建一个集合,并使用有效负载将其分区,并且在检索时,我们可以提供有效负载,以便仅从特定的有效负载向量中进行搜索。现在,我们在公司中使用langchain js创建集合并检索数据,使用的是:

langchain/vectorstores/qdrant

字符串
现在如何使用langchain来分割一个集合并从中进行搜索?
有关多租户的文档-https://qdrant.tech/documentation/guides/multiple-partitions/
还有他们使用有效负载进行分区的代码-
第一个月
但是我们使用Langchain J添加集合,如下所示:
const vectorStore = await QdrantVectorStore.fromDocuments( docs, new OpenAIEmbeddings(), { url: process.env.QDRANT_URL, collectionName: "a_test_collection", } );
这怎么解决?!

7uhlpewt

7uhlpewt1#

你当然可以使用Qdrant和LangchainJS的多租户。

  • fromDocuments()方法的dbConfig参数接受一个customPayload值。该值可以是任何有效负载,在您的情况下是一个PDF ID,用于实现多租户。
  • 或者,您可以在文档元数据中拥有ID,这将在有效负载中可用。
  • 然后,在示例化检索器时可以使用filter参数来过滤掉文档。

相关问题