Dify上下文变量实战:如何用sys.query和sys.dialogue_count打造智能对话系统
在构建对话系统时,开发者经常面临一个核心挑战:如何让AI理解并记住对话的上下文。传统方法要么需要复杂的数据库设计,要么受限于大模型的有限记忆窗口。Dify平台提供的系统变量功能,特别是sys.query和sys.dialogue_count,为解决这一问题提供了优雅的方案。
1. 理解Dify的核心系统变量
Dify的系统变量以sys.为前缀,是平台预置的全局参数,无需开发者手动声明即可直接调用。这些变量实时记录着对话的关键信息,是多轮交互的神经中枢。
1.1 sys.query:用户意图的精准捕捉
sys.query存储用户当前轮次的原始输入,数据类型为字符串。与普通用户变量不同,它具有以下特性:
- 实时更新:每次用户发送消息时自动刷新
- 未经处理:保留用户输入的原始形态(包括标点、错别字等)
- 多模态支持:当用户上传文件时,自动包含文件元信息
# 典型使用场景示例 - 关键词提取
import jieba
user_input = sys.query # 获取当前用户输入
keywords = [word for word in jieba.cut(user_input) if len(word) > 1] # 提取长度>1的中文词汇
1.2 sys.dialogue_count:对话节奏的智能调节器
这个数值型变量记录当前会话的交互轮次,其工作机制值得深入理解:
| 轮次计数规则 | 触发条件 | 典型应用场景 |
|---|


903

被折叠的 条评论
为什么被折叠?



