引言
在构建智能对话系统时,多轮对话能力是提升用户体验的关键。LangChain 提供了强大的工具来实现这一功能。本文将通过一个实际的代码示例,展示如何使用 LangChain 和 DeepSeek-R1 构建一个多轮对话系统,并保存对话的历史记录。
代码解析与技术要点
1. 环境准备与模型创建
import os
from langchain_community.chat_message_histories import ChatMessageHistory
from langchain_core.messages import HumanMessage
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
from langchain_core.runnables import RunnableWithMessageHistory
from langchain_openai import ChatOpenAI
os.environ["OPENAI_API_KEY"] = "sk-xxx"
model = ChatOpenAI(
model='deepseek-reasoner',
base_url="https://api.deepseek.com"
)
技术要点:参考环境引入和模型创建
2. 定义提示模板
为了使模型能够理解我们的需求,我们需要准备一个合适的 Prompt。以下代码展示了如何构建一个动态的 Prompt 模板,并引入 MessagesPlaceholder
来处理多轮对话: