AI 节点
从 v1.0.0 开始,工作流里加入了通用的「AI」节点。它可以从执行上下文里取值并交给大模型处理,再把生成的文本或经过校验的 JSON 写回上下文,适合用来做内容整理、信息提取和自动分类等步骤。
使用前,先让管理员在模型提供商里保存并启用至少一个模型连接。
配置字段
| 字段 | 说明 |
|---|---|
| 提供商与模型 | 选择已启用提供商中保存的模型 |
| 系统提示词 | 可选,支持 Jinja2 模板和上下文变量 |
| 提示词 | 必填,支持 Jinja2 模板;引用了上下文里不存在的变量会直接报错 |
| 超时 | 每次请求的超时时间,默认 60 秒,可设为 1–300 秒 |
| 失败重试次数 | 0–3 次(默认 0);仅在临时请求故障时重试,每次重试单独计算超时 |
| 最大输出 Token | 默认 0 表示沿用模型默认值;部分推理模型的思考 Token 也会算入此限制 |
| Temperature | 0–2,留空则使用模型默认值,需要所选模型支持 |
| 输出格式 | 「文本」或「结构化 JSON」 |
| JSON Schema | JSON 模式下必填,需使用不含引用的 Draft 2020-12 对象结构 |
| 原生结构约束 | JSON 模式下的进阶开关,要求模型服务原生按 Schema 约束生成,需模型支持 |
| 输出变量 | 默认 ai_result;以字母开头,仅含字母、数字和下划线,最长 64 个字符 |
文本输出
假设上游「设置变量」节点已经准备好了 content,提示词可以这样写:
jinja
将以下内容整理为不超过三句话的中文简介:
{{ content }}执行成功后,默认通过这些字段读取结果:
| 字段 | 内容 |
|---|---|
ai_result.text | 模型返回的文本 |
ai_result.json | 文本模式为 null,JSON 模式为校验通过的对象 |
ai_result.model | 返回结果中的模型标识 |
ai_result.usage | 服务提供的 Token 用量信息,可能不完整 |
下游节点用 {{ ai_result.text }} 就能拿到生成的文本。如果改了「输出变量」的名字,下游引用的变量前缀也要同步改掉。
结构化 JSON
把输出格式切到「结构化 JSON」后,填好 Schema,例如:
json
{
"type": "object",
"properties": {
"result": { "type": "string" }
},
"required": ["result"],
"additionalProperties": false
}提示词里让模型把所需结果写入 result,下游就能通过 {{ ai_result.json.result }} 取到经过校验的值。
无论有没有开启「原生结构约束」,系统本地都会按 Schema 做一次严格校验:关闭开关时靠提示词引导输出,开启后还会把结构约束一并提交给模型服务;只要输出不符合 Schema,节点就会失败。
执行与排错
发布工作流时,系统只会检查节点配置、模板语法和模型连接是否还可用,并不会真的调用模型;只有实际执行或试运行时才会发出请求。
请求成功且输出校验通过后,新结果才会覆盖输出变量;一旦中途失败,旧值不会被残缺内容覆写。排查报错时可以留意这几处:
- 请求直接被拒绝:检查服务地址、模型 ID,以及 Temperature 等生成参数是否不被支持
- 输出内容被截断:调大「最大输出 Token」限制,或精简输入长度
- JSON 校验失败:核对提示词里的字段说明是否和 JSON Schema 写一致了
如果想直接用自然语言搭建并调试整条流程,可以试试内置助手。