变量说明
变量说明
在 AI Center 中,对话流智能体和工作流类型应用均由独立节点构成。
多数节点都包含输入与输出项,但各节点的输入内容与输出结果不尽相同。
为了在不同节点间传递动态数据,系统引入了变量机制。变量作为动态数据容器,可以存储、引用和传递内容,实现节点之间的信息流转与交互。
变量类型
一、系统变量
系统变量是在对话流智能体或工作流应用中预设的系统级参数,可在全局范围内被引用。
所有系统变量均以 sys 开头。
1. 工作流系统变量
| 变量名称 | 数据类型 | 说明 | 备注 |
|---|---|---|---|
sys.user_id | String(字符串) | 用户 ID。系统会自动为每个用户分配唯一标识符,用于区分不同用户 | - |
sys.app_id | String(字符串) | 应用 ID。系统为每个工作流分配唯一标识符,用于记录应用信息 | 适用于开发者,用于定位不同工作流应用 |
sys.workflow_id | String(字符串) | 工作流 ID,用于记录当前工作流中包含的节点信息 | 可用于追踪工作流结构 |
sys.workflow_run_id | String(字符串) | 工作流运行 ID,用于记录工作流的运行情况 | 可用于追踪运行历史 |
2. 对话流智能体系统变量
| 变量名称 | 数据类型 | 说明 | 备注 |
|---|---|---|---|
sys.query | String(字符串) | 用户在对话框中首次输入的内容 | - |
sys.files | Array[File](文件数组) | 用户在对话框中上传的图片 | 需在应用编排页右上角开启“图片上传”功能 |
sys.dialogue_count | Number(数字) | 用户与智能体的对话轮数。每轮自动加 1,可与条件分支节点配合使用 | 可用于多轮逻辑控制 |
sys.conversation_id | String(字符串) | 对话会话唯一标识符,用于将相关消息归为同一会话 | 确保上下文连贯 |
sys.user_id | String(字符串) | 系统为每个用户分配的唯一标识符 | 注意:API 与 Web 界面的会话记录相互独立 |
sys.app_id | String(字符串) | 应用 ID,用于区分不同的智能体应用 | - |
sys.workflow_id | String(字符串) | 工作流 ID,用于记录当前对话流所包含的节点信息 | - |
sys.workflow_run_id | String(字符串) | 工作流运行 ID,用于记录运行实例信息 | - |
二、环境变量
环境变量用于保护在工作流或对话流中使用的 敏感信息,例如 API 密钥、数据库密码等。
这些变量被存储在流程配置中,而非代码中,便于在不同环境下安全共享。
支持的数据类型包括:
- String(字符串)
- Number(数字)
- Secret(密钥)
特性说明:
- 环境变量可在大多数节点中全局引用;
- 环境变量名称不可重复;
- 环境变量为只读变量,不可被写入修改。
三、会话变量
会话变量仅适用于 对话流智能体,用于支持多轮对话的上下文记忆。
在同一会话中,开发者可以存储并引用临时信息,例如用户偏好、上传文件或上下文信息等。
这类变量相当于为 LLM 提供“可读写的备忘录”,帮助模型在多轮对话中保持一致性。
示例
例如,用户在首次对话中指定语言偏好,可以将该偏好写入会话变量。
此后模型将在所有后续回复中遵循这一偏好。
支持的数据类型
- String(字符串)
- Number(数值)
- Object(对象)
- Boolean(布尔值)
- Array[string](字符串数组)
- Array[number](数值数组)
- Array[object](对象数组)
- Array[boolean](布尔值数组)
特性说明
- 会话变量可在大多数节点中全局引用;
- 需要通过 变量赋值节点 进行写入;
- 会话变量为可读写变量。
详细用法请参考 变量赋值节点。
注意
为避免冲突,节点名称不可重复。
