历史消息存储节点
什么是历史消息存储节点?
历史消息存储节点是 Magic Flow 工作流中用于记录和保存对话消息的功能节点。它就像一个内存存储单元,可以将指定的文本信息保存到对话历史中,以便后续查询和使用。这些存储的消息可以在后续交互中检索,为 AI 助手提供会话记忆能力。
界面说明:
顶部区域用于消息类型选择,目前支持文本、图片和文件卡片类型消息;底部区域用于消息内容输入,支持使用"@"添加变量实现动态内容存储。
为什么需要历史消息存储节点?
在智能对话系统中,记忆和上下文管理是提供连贯交互体验的关键。历史消息存储节点帮助您:
- 构建 AI 助手记忆:让 AI 助手"记住"重要信息,无需用户重复提供
- 保存中间结果:存储工作流中的关键数据和中间结果,供后续流程引用
- 维持对话连贯性:通过存储上下文信息,确保对话的连续性和上下文感知
- 创建用户画像:记录用户提供的关键信息,逐步构建用户画像,提供个性化体验
应用场景
场景一:用户信息收集与记忆
在用户首次提供个人信息(如姓名、偏好等)后,可以使用历史消息存储节点记录这些信息。在后续对话中,系统可以直接使用这些记忆,避免重复询问,提升用户体验。
场景二:多轮对话记忆管理
在复杂的多轮对话场景中,某些关键信息需要在多个对话轮次中使用。通过历史消息存储节点,可以有选择地保存重要内容,而不仅仅依赖自动记忆的近期消息。
场景三:工作流状态记录
在处理工单、审批等场景中,可以使用历史消息存储节点记录每一步的状态和结果,形成完整的处理记录,便于后续查询和追踪。
节点参数说明
输入参数
历史消息存储节点的主要输入参数包括:
参数名称 | 说明 | 是否必填 | 默认值 |
---|---|---|---|
消息类型 | 目前支持文本、图片和文件卡片类型消息 | 是 | 文本 |
消息内容 | 要存储的文本信息,支持变量引用 | 是 | 无 |
输出内容
历史消息存储节点没有标准的输出参数;其主要功能是将内容写入系统的历史消息记录中。
使用说明
基本配置步骤
- 添加节点:将历史消息存储节点拖入工作流编辑器
- 选择消息类型:从消息类型下拉菜单中选择"文本"
- 编写消息内容:在消息内容输入框中输入要存储的文本
- 可以直接输入固定文本,如"已记录用户偏好"
- 也可以使用"@"符号引用变量,如"用户偏好:@user_preference"
- 连接节点:将历史消息存储节点与前置节点(如条件分支或代码执行节点)和后续节点连接起来
高级技巧
- 组合变量使用:消息内容支持多个变量组合,构建结构化的记忆内容
- 使用条件筛选:与条件分支节点配合,仅在特定条件满足时存储信息
- 格式化存储内容:使用格式良好的文本模板,便于后续检索和处理
重要提示
存储数量限制
- 适度存储:不要存储过多不必要的信息,可能导致历史记录过长
- 关注重点:只存储对后续交互有价值的关键信息,提高存储效率
内容安全
- 敏感信息处理:避免存储用户隐私和敏感信息,如密码、详细联系方式等
- 合规使用:确保存储的内容符合数据隐私法规
内容格式
- 清晰结构:设计结构化的存储格式,便于后续检索和理解
- 长度控制:过长的内容在后续查询中可能难以处理,建议控制合理长度
常见问题
在后续流程中找不到存储的内容
解决方案:
- 确认工作流执行顺序正确;存储节点必须在查询节点之前执行
- 检查历史消息查询节点的时间范围设置,确保涵盖存储消息的时间点
- 增加历史消息查询节点的最大记录数设置,确保覆盖存储的消息
存储的变量内容不正确
解决方案:
- 检查变量引用是否正确,确保使用正确的变量名
- 验证前置节点是否成功输出预期的变量值
- 使用代码执行节点打印变量内容进行调试,确认工作流中的变量传递正确
常见配对节点
节点类型 | 配对说明 |
---|---|
历史消息查询节点 | 存储和查询配合使用,实现完整的记忆管理 |
大模型调用节点 | 向大模型提供存储的历史信息,增强上下文理解 |
条件分支节点 | 根据条件决定是否存储特定信息 |
代码执行节点 | 处理和格式化要存储的内容 |