Итак на данный момент мне удалось создать бота с историей чата, точно так же, как в примере, только со своей моделью и ретривером:
Код: Выделить всё
retriever = load_embeddings()
llm = load_llm()
history_aware_retriever = contextualize_llm_with_chat_history(model=llm, embeddings_retriever=retriever)
rag_chain = create_qa_llm_chain(chat_history_chain=history_aware_retriever, model=llm)
Код: Выделить всё
def get_session_history(session_id: str) -> BaseChatMessageHistory:
if session_id not in store:
store[session_id] = ChatMessageHistory()
return store[session_id]
store = {}
conversational_rag_chain = RunnableWithMessageHistory(
rag_chain,
get_session_history,
input_messages_key="input",
history_messages_key="chat_history",
output_messages_key="answer",
)
Код: Выделить всё
for chunk in conversational_rag_chain.stream({"input": question}, config={"configurable": {"session_id": "abc123"}}):
print(chunk)
Код: Выделить всё
Error in RootListenersTracer.on_chain_end callback: KeyError('answer')
Error in callback coroutine: KeyError('answer')
Я вижу, что я не тот только один с этой проблемой: https://github.com/langchain-ai/langchain/issues/24713
Подробнее здесь: https://stackoverflow.com/questions/788 ... nteract-wh