使用 Langchain 和 Qdrant 配置多租户

问题描述 投票:0回答:1

我正在创建一个问答聊天机器人,并且正在使用 langchain 和 qdrant。

我正在尝试配置 langchain 以便能够在多租户环境中使用 qdrant。 qdrant 的文档说,在我的情况下,最好的方法是使用“按有效负载分区”,并在集合的每个元素的有效负载内使用 group_id = OneClient,这样就可以过滤该 group_id (在我的案例将是客户)。 这是文档的链接https://qdrant.tech/documentation/tutorials/multiple-partitions/

我正在使用 langchain,并且我已在 qdrant 中保存的文档中添加了“group_id”元数据字段。

我想了解当我使用langchain时如何过滤group_id。 这就是我使用 langchain 检索问题答案的方式:

qdrant = Qdrant(
    client=QdrantClient(...),
    collection_name="collection1",
    embeddings=embeddings
)
prompt = ...
llm = ChatOpenAI(...) 
qa_chain = RetrievalQAWithSourcesChain.from_chain_type(
     llm=llm,
     chain_type="stuff",
     return_source_documents=True,
     retriever=qdrant.as_retriever(),
     chain_type_kwargs = {"prompt": prompt}
 )
result = qa_chain({"question": question})

group_id 将代表客户端,并且在提问之前就已知。

非常感谢任何帮助,谢谢。

python chatbot langchain qdrant qdrantclient
1个回答
0
投票

您想根据问题确定

group_id
,还是在致电
qa_chain
之前就知道?

© www.soinside.com 2019 - 2024. All rights reserved.