I m试图增加基本病媒储存的元数据过滤(chroma
)。
db = Chroma.from_documents(texts, embeddings)
它这样做:
qa = ConversationalRetrievalChain.from_llm(
OpenAI(openai_api_key=get_random_key(OPENAI_API_KEY_POOL), cache=True, temperature=0),
VectorStoreRetriever(vectorstore=db, search_kwargs={"filter": {"source": "data/my.pdf"}}),
verbose=True,
return_source_documents=True)
result = qa({"question": query, "chat_history": []})
但这意味着为每份文件建立一个单独的链条,似乎已经过。 然而,当我试图将过滤器送到现有的链条时,过滤器似乎没有任何效果,它使所有文件都得到回报。
qa = ConversationalRetrievalChain.from_llm(
OpenAI(openai_api_key=get_random_key(OPENAI_API_KEY_POOL), cache=True, temperature=0),
VectorStoreRetriever(vectorstore=db),
verbose=True,
return_source_documents=True)
filter = { source : my.pdf }
result = qa({"question": query, "chat_history": [], "filter": filter})
我失踪了吗? 或者在不扩大现有类别/修改源代码<条码>兰链条码>的情况下真正赢得t工作?