LLM structured output is unstable #15810

Closed
opened 2026-02-21 19:23:27 -05:00 by yindo · 3 comments
Owner

Originally created by @lzhcc on GitHub (Jul 31, 2025).

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • This is only for bug report, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
  • Please do not modify this template :) and fill in all the required fields.

Dify version

v1.6

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

The structured output option is enabled normally, but it will ultimately output the format defined by the JSON schema instead of the normal output content, resulting in an error where the next node cannot find the parameters
Image
Image

✔️ Expected Behavior

I hope to find the corresponding parameters stably

Actual Behavior

No response

Originally created by @lzhcc on GitHub (Jul 31, 2025). ### Self Checks - [x] I have read the [Contributing Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) and [Language Policy](https://github.com/langgenius/dify/issues/1542). - [x] This is only for bug report, if you would like to ask a question, please head to [Discussions](https://github.com/langgenius/dify/discussions/categories/general). - [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones. - [x] I confirm that I am using English to submit this report, otherwise it will be closed. - [x] 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :) - [x] Please do not modify this template :) and fill in all the required fields. ### Dify version v1.6 ### Cloud or Self Hosted Self Hosted (Docker) ### Steps to reproduce The structured output option is enabled normally, but it will ultimately output the format defined by the JSON schema instead of the normal output content, resulting in an error where the next node cannot find the parameters <img width="565" height="652" alt="Image" src="https://github.com/user-attachments/assets/38d396ef-a608-46a5-bbf7-8b88d8f19547" /> <img width="1066" height="675" alt="Image" src="https://github.com/user-attachments/assets/76cdba78-d75a-4414-af77-4632c5982a0e" /> ### ✔️ Expected Behavior I hope to find the corresponding parameters stably ### ❌ Actual Behavior _No response_
yindo added the 🐞 bug label 2026-02-21 19:23:27 -05:00
yindo closed this issue 2026-02-21 19:23:27 -05:00
Author
Owner

@crazywoola commented on GitHub (Jul 31, 2025):

I think you should switch to a smarter model.

@crazywoola commented on GitHub (Jul 31, 2025): I think you should switch to a smarter model.
Author
Owner

@dosubot[bot] commented on GitHub (Jul 31, 2025):

This instability is a known issue in recent Dify self-hosted Docker releases, especially after v1.4.2. The most common causes are an empty or invalid JSON schema in the structured output config, or a regression in how Dify parses and enforces structured output. If the schema is empty or malformed, Dify may output the schema itself or fail to extract parameters, breaking downstream nodes [source].

To resolve this, make sure your JSON schema is valid, non-empty, and uses only supported types (e.g., use strings for booleans, avoid unsupported types). Double-check that your prompt and schema match, and use models known to support structured output (like GPT-4o or Gemini) [source]. If you recently upgraded, note that a regression in v1.5.1 broke structured output parsing for all schemas and models, but this was fixed in PR #21837—ensure your deployment includes this patch [source].

If the problem persists, it may be due to a missing patch in your Docker image. Watch for updates, and consider capturing logs or error messages for further diagnosis.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Chat with Dosu Join Discord Share on X

@dosubot[bot] commented on GitHub (Jul 31, 2025): <!-- Answer --> This instability is a known issue in recent Dify self-hosted Docker releases, especially after v1.4.2. The most common causes are an empty or invalid JSON schema in the structured output config, or a regression in how Dify parses and enforces structured output. If the schema is empty or malformed, Dify may output the schema itself or fail to extract parameters, breaking downstream nodes [[source](https://github.com/langgenius/dify/issues/21898)]. To resolve this, make sure your JSON schema is valid, non-empty, and uses only supported types (e.g., use strings for booleans, avoid unsupported types). Double-check that your prompt and schema match, and use models known to support structured output (like GPT-4o or Gemini) [[source](https://github.com/langgenius/dify/issues/20964)]. If you recently upgraded, note that a regression in v1.5.1 broke structured output parsing for all schemas and models, but this was fixed in PR #21837—ensure your deployment includes this patch [[source](https://github.com/langgenius/dify/pull/21837)]. If the problem persists, it may be due to a missing patch in your Docker image. Watch for updates, and consider capturing logs or error messages for further diagnosis. <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/5fc988d9-8302-4e4c-a935-40277e877b8b?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/5fc988d9-8302-4e4c-a935-40277e877b8b?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/5fc988d9-8302-4e4c-a935-40277e877b8b?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/5fc988d9-8302-4e4c-a935-40277e877b8b?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/5fc988d9-8302-4e4c-a935-40277e877b8b?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/5fc988d9-8302-4e4c-a935-40277e877b8b?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/5fc988d9-8302-4e4c-a935-40277e877b8b?feedback_type=other)</sup>&nbsp;&nbsp;[![Chat with Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/6088a4f4-073a-43f3-b3d4-4f06fb0c05a0/ask?utm_source=github)&nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/langgenius/dify/issues/23249)
Author
Owner

@lzhcc commented on GitHub (Jul 31, 2025):

我认为你应该换一个更智能的模型。

Okay, I'll give it a try. Thank you

@lzhcc commented on GitHub (Jul 31, 2025): > 我认为你应该换一个更智能的模型。 Okay, I'll give it a try. Thank you
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#15810