Skip to content

历史消息存储节点

什么是历史消息存储节点?

历史消息存储节点是 Magic Flow 工作流中用于记录和保存对话消息的功能节点。它就像一个内存存储单元,可以将指定的文本信息保存到对话历史中,以便后续查询和使用。这些存储的消息可以在后续交互中检索,为 AI 助手提供会话记忆能力。

界面说明:

顶部区域用于消息类型选择,目前支持文本、图片和文件卡片类型消息;底部区域用于消息内容输入,支持使用"@"添加变量实现动态内容存储。 历史消息存储节点

为什么需要历史消息存储节点?

在智能对话系统中,记忆和上下文管理是提供连贯交互体验的关键。历史消息存储节点帮助您:

  1. 构建 AI 助手记忆:让 AI 助手"记住"重要信息,无需用户重复提供
  2. 保存中间结果:存储工作流中的关键数据和中间结果,供后续流程引用
  3. 维持对话连贯性:通过存储上下文信息,确保对话的连续性和上下文感知
  4. 创建用户画像:记录用户提供的关键信息,逐步构建用户画像,提供个性化体验

应用场景

场景一:用户信息收集与记忆

在用户首次提供个人信息(如姓名、偏好等)后,可以使用历史消息存储节点记录这些信息。在后续对话中,系统可以直接使用这些记忆,避免重复询问,提升用户体验。

场景二:多轮对话记忆管理

在复杂的多轮对话场景中,某些关键信息需要在多个对话轮次中使用。通过历史消息存储节点,可以有选择地保存重要内容,而不仅仅依赖自动记忆的近期消息。

场景三:工作流状态记录

在处理工单、审批等场景中,可以使用历史消息存储节点记录每一步的状态和结果,形成完整的处理记录,便于后续查询和追踪。

节点参数说明

输入参数

历史消息存储节点的主要输入参数包括:

参数名称说明是否必填默认值
消息类型目前支持文本、图片和文件卡片类型消息文本
消息内容要存储的文本信息,支持变量引用

输出内容

历史消息存储节点没有标准的输出参数;其主要功能是将内容写入系统的历史消息记录中。

使用说明

基本配置步骤

  1. 添加节点:将历史消息存储节点拖入工作流编辑器
  2. 选择消息类型:从消息类型下拉菜单中选择"文本"
  3. 编写消息内容:在消息内容输入框中输入要存储的文本
    1. 可以直接输入固定文本,如"已记录用户偏好"
    2. 也可以使用"@"符号引用变量,如"用户偏好:@user_preference"
  4. 连接节点:将历史消息存储节点与前置节点(如条件分支或代码执行节点)和后续节点连接起来

高级技巧

  1. 组合变量使用:消息内容支持多个变量组合,构建结构化的记忆内容
  2. 使用条件筛选:与条件分支节点配合,仅在特定条件满足时存储信息
  3. 格式化存储内容:使用格式良好的文本模板,便于后续检索和处理

重要提示

存储数量限制

  • 适度存储:不要存储过多不必要的信息,可能导致历史记录过长
  • 关注重点:只存储对后续交互有价值的关键信息,提高存储效率

内容安全

  • 敏感信息处理:避免存储用户隐私和敏感信息,如密码、详细联系方式等
  • 合规使用:确保存储的内容符合数据隐私法规

内容格式

  • 清晰结构:设计结构化的存储格式,便于后续检索和理解
  • 长度控制:过长的内容在后续查询中可能难以处理,建议控制合理长度

常见问题

在后续流程中找不到存储的内容

解决方案

  1. 确认工作流执行顺序正确;存储节点必须在查询节点之前执行
  2. 检查历史消息查询节点的时间范围设置,确保涵盖存储消息的时间点
  3. 增加历史消息查询节点的最大记录数设置,确保覆盖存储的消息

存储的变量内容不正确

解决方案

  1. 检查变量引用是否正确,确保使用正确的变量名
  2. 验证前置节点是否成功输出预期的变量值
  3. 使用代码执行节点打印变量内容进行调试,确认工作流中的变量传递正确

常见配对节点

节点类型配对说明
历史消息查询节点存储和查询配合使用,实现完整的记忆管理
大模型调用节点向大模型提供存储的历史信息,增强上下文理解
条件分支节点根据条件决定是否存储特定信息
代码执行节点处理和格式化要存储的内容

基于 Apache 2.0 许可发布