带记忆的聊天机器人
此流通过一个聊天记忆(Chat memory)组件扩展了基本提示流(basic prompting flow),该组件存储最多 100 条先前的聊天消息,并使用它们为当前对话提供上下文。
先决条件
创建带记忆的聊天机器人流
- 从 Langflow 控制面板,点击新建流(New Flow)。
- 选择带记忆的聊天机器人(Memory Chatbot)。
- 创建了带记忆的聊天机器人(Memory Chatbot)流。
此流在基本提示流中添加了一个聊天记忆(Chat Memory)组件。此组件检索先前的消息,并将它们发送到提示(Prompt)组件,以使用上下文填充模板(Template)的一部分。
要检查模板,点击提示(Prompt)组件中的模板(Template)字段。提示(Prompt)告诉 OpenAI 模型(OpenAI model)组件如何响应输入。
_10你是一个乐于助人的助手,负责回答问题。_10_10使用 Markdown 格式化你的回答,并正确嵌入图像和网址。_10_10历史记录_10_10{memory}
提示中的{memory}
代码在组件中创建了一个名为记忆(memory)的新输入端口。聊天记忆(Chat Memory)组件连接到此端口,以存储来自 Playground 的聊天消息,并为 OpenAI 组件提供先前聊天消息的记忆。
运行带记忆的聊天机器人流
- 打开 Playground 。
- 输入多个问题。例如,尝试输入以下对话:
_10你好,我叫 Luca。_10请告诉我关于 PostgreSQL 的信息。_10我的名字是什么?_10我问你的第二个主题是什么?
聊天机器人记住了你的名字和之前的问题。
- 要查看消息日志(Message Logs)面板,点击,然后点击消息日志(Message Logs)。消息日志(Message Logs)面板显示所有先前的消息,每个对话按
session_id
排序。
在带记忆的聊天机器人流中使用 Session ID
session_id
是 Langflow 中的一个唯一标识符,用于存储 AI 和用户之间的对话会话。session_id
在启动对话时创建,然后与该会话期间的所有后续消息关联。
在你创建的带记忆的聊天机器人(Memory Chatbot)流中,聊天记忆(Chat Memory)组件按 Session ID 引用过去的交互。你可以通过修改 Session ID 值来切换对话历史记录进行演示。
- 在聊天记忆(Chat Memory)和聊天输入(Chat Input)组件的 Session ID 字段中,添加一个 Session ID 值,例如
MySessionID
。 - 现在,一旦你在 Playground 中发送新消息,你应该在消息日志(Message Logs)面板中看到新的记忆被创建。
- 注意你的对话是如何存储在不同的记忆会话中的。
在记忆(Memory)部分了解更多关于聊天记忆的信息。