跳转到内容

AI 节点 ​

从 v1.0.0 开始,工作流里加入了通用的「AI」节点。它可以从执行上下文里取值并交给大模型处理,再把生成的文本或经过校验的 JSON 写回上下文,适合用来做内容整理、信息提取和自动分类等步骤。

使用前,先让管理员在模型提供商里保存并启用至少一个模型连接。

配置字段 ​

字段说明
提供商与模型选择已启用提供商中保存的模型
系统提示词可选,支持 Jinja2 模板和上下文变量
提示词必填,支持 Jinja2 模板;引用了上下文里不存在的变量会直接报错
超时每次请求的超时时间,默认 60 秒,可设为 1–300 秒
失败重试次数0–3 次(默认 0);仅在临时请求故障时重试,每次重试单独计算超时
最大输出 Token默认 0 表示沿用模型默认值;部分推理模型的思考 Token 也会算入此限制
Temperature0–2,留空则使用模型默认值,需要所选模型支持
输出格式「文本」或「结构化 JSON」
JSON SchemaJSON 模式下必填,需使用不含引用的 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 写一致了

如果想直接用自然语言搭建并调试整条流程,可以试试内置助手。

基于 GPLv3 开源协议发布