Dify Docs home page
简体中文
Search...
⌘K
Ask AI
Blog
Dify
Dify
Search...
Navigation
工作流
结构化输出
使用文档
插件开发
访问 API
资源
入门
欢迎使用 Dify
云服务
Dify 社区版
Dify Premium
Dify 教育版
访问 API
手册
接入大模型
构建应用
工作流
工作流
关键概念
变量
节点说明
快捷键
编排节点
文件上传
异常处理
附加功能
预览与调试
应用发布
结构化输出
变更公告:图片上传被替换为文件上传
知识库
工具
发布
标注
监测
扩展
协同
管理
动手实验室
简介
初级
中级
社区
寻求支持
成为贡献者
为 Dify 文档做出贡献
插件
功能简介
快速开始
插件管理
接口定义
最佳实践
发布插件
常见问题
研发
DifySandbox
模型接入
迁移
阅读更多
应用案例
扩展阅读
常见问题
政策
开源许可
用户协议
On this page
简介
价值
如何实现结构化输出?
方式一:直接定义工具参数
方式二:使用 LLM 节点中的 JSON Schema 编辑器
异常处理方案
工作流
结构化输出
Copy page
Copy page
简介
作为 LLM 工具链平台,Dify 支持 JSON 结构化输出功能。结构化输出功能可以确保 LLM 返回的数据格式可用、稳定、可预测,减少错误处理和格式转换的工作。
价值
确保数据格式一致
:即使由 LLM 生成内容,也必须符合预设格式,避免数据混乱。
方便后续节点处理
:数据库、API 或前端可以直接解析 JSON Schema,而无需额外数据清洗。
提升低代码开发体验
:开发者无需手写复杂数据校验逻辑,直接使用 JSON Schema 约束输出。
如何实现结构化输出?
在 Dify 的操作界面中,可以通过以下两种方式实现结构化输出:
方式一:直接定义工具参数
方式二:使用 LLM 节点中的 JSON Schema 编辑器
方式一:直接定义工具参数
请参阅
Tool
> 数据结构 > 返回变量定义
。
方式二:使用 LLM 节点中的 JSON Schema 编辑器
请参阅
LLM
> 高级功能 > 结构化输出
与
LLM
> 使用案例 > 结构化输出
。
异常处理方案
异常情况
在使用 JSON Schema 编辑器进行结构化输出时,可能会遇到以下限制和异常情况:
模型能力限制
:部分 LLM(尤其是 70B 以下的模型或 GPT-3.5 Turbo 级别模型)在指令遵循性上较弱,可能导致 JSON Schema 解析失败。
格式兼容性
:部分 LLM 仅支持
JSON mode
而非
JSON Schema
,导致严格的 Schema 解析失败。
错误信息
:出现错误
Failed to parse structured output: output is not a valid json str
。此类错误主要源于模型生成 JSON 失败。
推荐处理方案
优先使用支持 JSON Schema 的模型
。推荐列表如下:
Gemini 2.0 Flash/Flash-Lite
Gemini 1.5 Flash 8B (0827/0924)
Gemini-1.5 pro
GPT-4o
GPT-4o-mini
o1-mini/o3-mini 系列
适当调整系统提示词以增强指令遵循性,尽可能确保 LLM 输出符合 Schema 规范
。假如 JSON Schema 设计用于结构化数学公式的输入与输出,而系统提示词却要求模型进行法律条文解析,这种不匹配可能会导致模型无法正确理解任务,影响生成结果的准确性。
配置异常处理策略
。你可以在解析失败时考虑采取以下措施:
配置失败时重试
:在节点内开启
失败时重试
功能并配置最大重试次数与重试间隔,以减少解析错误的影响。
配置异常分支
:在节点内的
异常处理
中配置
失败分支
。当节点发生异常时,将自动执行失败分支。
详情请参阅
异常处理
。
编辑此页面
|
提交问题
Was this page helpful?
Yes
No
应用发布
变更公告:图片上传被替换为文件上传
Assistant
Responses are generated using AI and may contain mistakes.