大数跨境

Structured Outputs 高阶玩法:思维链 + Streaming + Schema 限制

Structured Outputs 高阶玩法:思维链 + Streaming + Schema 限制 泉塘坞
2026-06-12
4
导读:作者丨正在学AI的小泉同学上篇回顾让 AI 乖乖听话:Structured Outputs 是什么?

作者丨正在学AI的小泉同学


上篇回顾

让 AI 乖乖听话:Structured Outputs 是什么?

Structured Outputs 三大好处:为什么非学不可?

Structured Outputs 两种用法:Function Calling 和 json_schema 怎么选?

上篇说了 Structured Outputs 的两种用法——Function Calling 让 AI 执行操作,json_schema 让 AI 输出更规整。有这两个招式,日常工作已经够用了。

但还有一些高阶技巧,能让你用得更爽、更专业。这篇全部讲透。


01

高阶玩法:思维链 + 结构化输出

什么是"思维链"?

就是让 AI 把解题过程一步步写出来,而不是直接给答案。

举个栗子🌰:

学生问:8x + 7 = -23,求 x

普通 AI 回答:

x = -3.75

学生:???怎么算的?

思维链 AI 回答:

第一步:把 7 移到右边
8x = -23 - 7 = -30

第二步:两边除以 8
x = -30 ÷ 8 = -3.75

最终答案:x = -3.75

学生:哦!我懂了!

怎么把思维链和结构化输出组合起来?

代码怎么实现?

from pydantic import BaseModel

class Step(BaseModel):
    explanation: str  # 这一步在干什么
    output: str       # 这一步算出了什么

class MathReasoning(BaseModel):
    steps: list[Step]  # 一整套解题步骤
    final_answer: str  # 最终答案

response = client.responses.parse(
    model="gpt-4o-2024-08-06",
    input=[
        {"role": "system", "content": "You are a helpful math tutor. Guide step by step."},
        {"role": "user", "content": "how can I solve 8x + 7 = -23"},
    ],
    text_format=MathReasoning,
)

reasoning = response.output_parsed

AI 会返回:

{
  "steps": [
    {
      "explanation": "把 7 移到右边",
      "output": "8x = -30"
    },
    {
      "explanation": "两边除以 8",
      "output": "x = -3.75"
    }
  ],
  "final_answer": "x = -3.75"
}

你的 APP 可以把每个步骤渲染成一个卡片,学生一步步看,非常清晰。

ChatGPT Image 2026年5月7日 16_55_03.png


02

Streaming(流式输出):实时接收

什么是流式输出?

普通方式(非流式):

你发请求 → 等 5 秒 → AI 全部生成完 → 一次性返回给你

就像:你去餐厅点餐,等厨师把所有菜都做好,一次性全端上来。

流式方式:

你发请求 → 立刻开始接收 → AI 一段一段发 → 你实时处理

就像:厨师做好一道菜就端上来一道,你可以边吃边等下一道。

ChatGPT Image 2026年5月7日 20_34_42.png

代码怎么写?

with client.responses.stream(
    model="gpt-4.1",
    input=[...],
    text_format=EntitiesModel,
) as stream:
    for event in stream:
        if event.type == "response.output_text.delta":
            print(event.delta, end="", flush=True)  # 实时打印

效果:AI 说一句,你屏幕上就显示一句,像打字机一样。


03

JSON Schema 限制:这些不能用

OpenAI 结构化输出不是支持所有 JSON Schema,只支持一部分。

✅ 你可以放心用:

ChatGPT Image 2026年5月7日 20_34_42.png

普通模型(gpt-4o、gpt-4o-mini):

支持字段校验,比如:

- 字符串必须匹配正则(pattern

- 数字必须在一个范围内(minimummaximum

- 字符串长度限制(minLengthmaxLength

微调模型:

这些校验统统不支持! 你只能定义字段类型,不能加任何额外的限制条件。


结尾

高阶玩法讲完了——思维链让 AI 一步步推理,流式输出实时展示,Schema 限制让你知道哪些坑要绕着走

不过光知道怎么用还不够,实际写代码的时候还有很多坑,一不小心就踩进去

下篇收尾全攻略——拒绝回答怎么处理、避坑三则、重要规则,一条不落全告诉你


#AI#OpenAI#结构化输出#JSON#AIGC
#教程#StructuredOutputs#PromptEngineering

【声明】内容源于网络
0
0
泉塘坞
1234
内容 22
粉丝 0
泉塘坞 1234
总阅读0
粉丝0
内容22