为 LangChain Agents 添加对话记忆

通过添加记忆功能,你可以让 LangChain agents 变得更智能。这使它们能够记住之前消息中的事实。

在本文中,我将一个支持型 agent 变成了一个多轮对话工具。

在第一轮对话中,agent 会查询客户和发票信息。 在第二轮对话中,agent 会直接创建工单,而无需再次询问 ID。

需要了解的三个核心概念:

在支持流程中的工作原理:

  1. 用户要求查询客户 ID 1042 和发票 8891。agent 找到相关数据。
  2. 用户说“创建工单”。agent 会记住第一步中的 ID 并完成任务。

测试时,请使用 MemorySaver。它将状态保存在你的本地进程中。

重要提示:当代码停止运行时,MemorySaver 会被清空。在生产环境中,请使用 Postgres 或 SQLite 等数据库。由于 thread_id API 不会改变,因此代码保持不变。

通过为不同用户使用不同的 thread ID 来保持会话隔离。这可以防止一个人的数据泄露到另一个人的聊天中。

请查看 langchain-agent-memory-nodejs-demo 文件夹以获取完整脚本。

来源:https://dev.to/zsevic/conversation-memory-for-langchain-agents-31pa

可选学习社区:https://t.me/GyaanSetuAi