AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


Dify v0.7.0:会话变量 & 变量赋值节点 - 实现 LLM 应用的精准记忆功能
发布日期:2024-08-15 09:46:28 浏览次数: 1858


如何帮助开发者更精准地管理 LLM 应用的记忆,以满足特定场景下的存储和使用需求,一直是 Dify 近期探索的核心问题。尽管 LLM 拥有长度不等的上下文窗口,能够存储聊天记录,但由于其注意力机制的限制,常常出现记忆丢失或无法准确聚焦于特定信息的情况,难以满足复杂应用场景的需求。

为了解决这一问题,Dify 在最新版本中引入了会话变量和变量赋值节点。两者配合使用,使得通过 Chatflow 构建的 LLM 应用在记忆管理上更加灵活、可控,解决了 LLM 在精细管理特定记忆方面的不足。这些功能使 LLM 应用能够读取和写入用户输入的关键信息,从而满足特定应用的需求,提升了 LLM 在生产环境中的实际应用能力。

会话变量:更精准的上下文记忆存储
会话变量用于在 LLM 应用中存储和引用上下文信息。在单个 Chatflow 会话内,开发者可以通过会话变量指定需要临时存储的特定信息(如上下文、上传的文件(即将上线)、用户在对话过程中输入的偏好信息等)。这些信息可以在对话流程的任何阶段,通过变量赋值节点进行写入或更新。会话变量的优势在于,它们提供了比默认对话历史更精细的管理,使应用能够更准确地记忆和引用特定信息,从而实现更个性化的多轮对话交互。

  • 精准管理上下文:会话变量允许开发者在变量级别管理信息,而不是处理整块的聊天记录。这使得 LLM 应用能够更精确地存储和检索特定的信息片段。
  • 结构化数据:会话变量支持多种数据类型,包括字符串、数字、对象和数组,使得处理复杂的结构化数据变得更加容易,而不仅仅是存储文本。
  • 工作流集成:通过与变量赋值节点配套使用,开发者可以在工作流(Chatflow)的任意位置写入或更新变量值,以供下游的 LLM 节点访问。

变量赋值节点:设置和写入会话变量

变量赋值节点可以为支持写入的变量赋值,如本次版本更新中的会话变量。通过变量赋值节点,应用开发者可以将用户输入的信息赋值到会话变量中进行临时存储,并在后续对话中持续引用这些信息。

对于需要记录初始用户偏好的应用,开发者可以使用会话变量和变量赋值节点来:
  • 存储用户的语言偏好
  • 在后续响应中持续使用选择的语言

例如,如果用户在对话开始时选择了中文,变量赋值器节点会将其写入 `language` 会话变量后,LLM 会在后续的回复中参考这一会话变量中的信息,持续使用中文与用户进行交流。

?️ 更多应用场景

会话变量结合变量赋值节点不仅可以存储用户偏好,还能灵活处理多种类型的用户输入和 LLM 生成的信息。以下是一些典型应用场景:

  1. 门诊导诊助手:用于给就诊病人推荐合适的科室。通过会话变量记录用户输入的性别、年龄和症状,并基于这些信息进行判断,提供定制化的挂号建议。

  2. 对话摘要:在 Chatflow 上游的 LLM 节点中使用变量赋值节点作为总结节点,用于提取对话历史的概述,从而避免将完整的历史记录存储为记忆,防止记忆过载。
  3. 数据分析助手:对于数据分析师,最新的 Chatflow 可以实现在对话中检索外部系统的数据,并在后续对话中继续使用这些数据。

  4. 创意写作:支持复杂的创意过程,可以动态添加和修改故事组件。以 Object 数组类型将故事元素存入会话变量,如角色和情节等:
[{name: "Alice", role: "protagonist", trait: "brave"},{name: "Mystical Forest", type: "setting", atmosphere: "eerie"}]

这些应用场景展示了会话变量和变量赋值节点的强大功能,能够满足各种复杂的应用需求,提供了个性化的记忆存储。欢迎查阅帮助文档,使用 Chatflow 快速开始构建具备记忆管理功能的 LLM 应用。此外,我们还在探索页面提供了相关的应用模板,帮助你快速上手并体验最新功能,一起来试试吧!


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询