构建聊天机器人
先决条件
本指南假设您熟悉以下概念:
- 聊天模型
- 提示模板
- 聊天历史记录
本指南需要 langgraph >= 0.2.28。
笔记
本教程之前使用 RunnableWithMessageHistory 构建了一个聊天机器人。您可以在 v0.2 文档中访问此版本的教程。
LangGraph 实现比 RunnableWithMessageHistory
具有许多优势,包括能够持久保存应用程序状态的任意组件(而不仅仅是消息)。
概览
我们将介绍一个如何设计和实现 LLM 驱动的聊天机器人的示例。这个聊天机器人将能够进行对话并记住之前的交互。
请注意,我们构建的这个聊天机器人将仅使用语言模型进行对话。您可能正在寻找其他几个相关概念:
本教程将介绍对这两个更高级主题有帮助的基础知识,但如果您愿意,可以直接跳到那里。
设置
Jupyter 笔记本
本指南(以及文档中的大多数其他指南)使用 Jupyter 笔记本,并假设读者也使用 Jupyter 笔记本。Jupyter 笔记本非常适合学习如何使用 LLM 系统,因为经常会出现问题(意外输出、API 故障等),而在交互式环境中阅读指南是更好地理解它们的好方法。
本教程和其他教程可能最方便在 Jupyter 笔记本中运行。请参阅此处了解如何安装的说明。
安装
在本教程中,我们需要@langchain/core 和 langgraph
pnpm add @langchain/core @langchain/langgraph uuid
LangSmith
您使用 LangChain 构建的许多应用程序将包含多个步骤,并多次调用 LLM 调用。随着这些应用程序变得越来越复杂,能够检查链或代理内部究竟发生了什么变得至关重要。最好的方法是使用 LangSmith。
在上面的链接处注册后,请确保设置环境变量以开始记录跟踪:
process.env.LANGCHAIN_TRACING_V2 = "true";
process.env.LANGCHAIN_API_KEY = "...";