Я пытаюсь создать бота, который отвечает на вопросы из chromadb, я сохранил несколько файлов PDF с метаданными, такими как имя файла и имя кандидата, моя проблема в том, что когда я использую диалоговую цепочку поиска, модель LLM просто получает page_content без метаданных, я хочу, чтобы Модель LLM, позволяющая учитывать page_content с его метаданными, такими как имя файла и имя кандидата. вот мой код
conversation_chain=ConversationalRetrievalChain.from_llm(
llm=llm,
retriever=SelfQueryRetriever.from_llm(llm,vectorstore,document_content_description,metadata_field_info),
memory=memory,
verbose=True,
)
и вот моя информация об атрибутах
metadata_field_info = [
AttributeInfo(
name = "filename",
description = "The name of the resumee",
type = "string",
),
AttributeInfo(
name = "candidatename",
description = "the name of the candidate",
type = "string"
)
]
Я исправил эту проблему, включив document_prompt
document_combine_prompt = PromptTemplate(
input_variables=["candidatename","page_content"],
template= """
page_content: {page_content}
candidatename:{candidatename}
"""
)
conversation_chain=ConversationalRetrievalChain.from_llm(
llm=llm,
retriever=SelfQueryRetriever.from_llm(llm,vectorstore,document_content_description,metadata_field_info,verbose=True),
memory=memory,
verbose=True,
return_source_documents=True,
combine_docs_chain_kwargs = {"prompt": custom_prompt,
"document_prompt":document_combine_prompt
}
)
я попробовал это return_source_documents=True, и это не сработало