# 构建具有聊天历史功能的智能问答应用:实现对话记忆
在智能问答应用中,为了提供更自然的对话体验,我们通常希望应用程序能够记住用户的历史问题和回答。这种“记忆”特性有助于更好地理解用户的意图,从而提高交互的流畅性和准确性。本文将详细介绍如何实现聊天历史功能,帮助应用在处理对话时灵活地结合历史信息。
## 引言
本文旨在帮助开发者通过两种不同的方法为智能问答应用添加聊天历史功能。这两种方法分别为“链”(Chains)策略和“代理”(Agents)策略。我们将详细介绍如何使用每种方法,并提供实际的代码示例。
## 主要内容
### 配置依赖
首先,我们需要安装一些必要的Python库以支持我们的实现。
```bash
%%capture --no-stderr
%pip install --upgrade --quiet langchain langchain-community langchain-chroma bs4
接下来,我们需要设置环境变量OPENAI_API_KEY,可以直接设置或通过.env文件加载。
import getpass
import os
if not os.environ.get("OPENAI_API_KEY"):
os.environ["OPENAI_API_KEY"] = getpass.getpass()
使用链实现聊天历史
创建历史感知的检索器
在对话问答生成(RAG)应用中,检索器的查询应该考虑到对话的上下文。LangChain提供了create_history_aware_retriever构造器,可以简化这一过程。
from langchain.chains import create_history_aware_retriever
from langchain_core.prompts import MessagesPlaceholder
from<

最低0.47元/天 解锁文章
688

被折叠的 条评论
为什么被折叠?



