为你的聊天机器人添加记忆功能:技术与实现
在聊天机器人中,使用先前对话内容作为上下文的能力是其关键特性之一。本文将探讨几种实现这种状态管理的技术,包括:
- 简单地将先前消息塞入聊天模型的提示中。
- 修剪旧消息以减少模型处理的干扰信息。
- 为长时间对话合成摘要等更复杂的修改。
我们将详细介绍几种技术。
引言
本文旨在帮助您为聊天机器人添加记忆功能,使其能够在对话中保持上下文。通过这样做,您的聊天机器人不仅能够得出更相关的回答,还能提高用户体验。
主要内容
设置
首先,我们需要安装一些必要的软件包,并将您的 OpenAI API 密钥设置为环境变量 OPENAI_API_KEY
:
%pip install --upgrade --quiet langchain langchain-openai
确保在代码中导入环境变量:
import dotenv
dotenv.load_dotenv()
设置之后,我们将创建一个聊天模型用于示例:
from langchain_openai import ChatOpenAI
chat = ChatOpenAI(model="gpt-3.5-turbo-0125")
消息传递
最简单的记忆形式是将聊天历史消息传递到链中。以下是一个例子:
from langchain_core.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate.from_messages(
[
("system", "You are a helpful assistant. Answer all questions to the best of your ability."