ConversationalRetrievalChain 的记忆功能怎么样使用呢,我看日志都保存了历史记录为什么llm的回答就像失意了一样
环境:
python 3.11.0
chromadb 0.5.5
langchain 0.2.12
langchain-community 0.2.10
我的使用方法是:
vectordb = configure_retriever(uploaded_files)
llm = ChatOpenAI(model_name = "gpt-3.5-turbo", temperature = 0,openai_api_key = openai_api_key,base_url = openai_api_base)
read_chat_from_csv()
retriever=vectordb.as_retriever()
# retriever 是文档embedding,memory 是历史数据
qa = ConversationalRetrievalChain.from_llm(
llm,
retriever=retriever,
memory=memory
)
result = qa({"question": question})
memory的输出如下:
memory: chat_memory=InMemoryChatMessageHistory(messages=[HumanMessage(content='我很喜欢北京'), AIMessage(content='请问有什么我可以帮您解答的吗?'), HumanMessage(content='我喜欢那座城市'),
AIMessage(content='您可以选择以下几个方面:\n\n1. **历史和文化**:天安门广场和故宫博物院展示了北京的历史和文化。\n2. **自然景观**:颐和园的皇家园林和什刹海的美丽湖泊。\n3. **现代与传统的
结合**:王府井步行街展示了现代北京的繁华与传统。\n4. **地方美食**:北京菜如炸酱面和北京烤鸭的美味。\n5. **京剧艺术**:观看京剧表演体验中国传统艺术。'), HumanMessage(content='你好我叫bili
后面回答我问题的时候都要加上我的称呼'), AIMessage(content='我不知道。'), HumanMessage(content='就是在回答我的问题之期加上bili'), AIMessage(content='抱歉,我不知道。bili'), HumanMessage(co
ntent='好的就是这样回答我'), AIMessage(content='当然,请问你有什么问题需要帮助的吗?'), HumanMessage(content='请继续叫我的名字'), AIMessage(content='抱歉,我不知道您的名字。')]) return_me
ssages=True memory_key='chat_history'
网页段界面如下: