Loading...
🧱
结构化输出(SO)
通过约束解码来保证模型输出符合某个 schema。JSON Schema、正则表达式或语法会被编译成一个有限状态机,在每个解码步骤中,会屏蔽掉那些会违反 schema 的 token,从而只能采样出有效的续写。在严格模式下,这使得格式错误的 JSON 和无效的工具参数成为不可能。该功能在 OpenAI、Google 和 Anthropic 上原生可用,也可用于 Outlines 和 vLLM 等开源库。
复杂度: medium工具使用
In 30 seconds
- What
- 把 schema 编译成有限状态机,并在每个解码步骤屏蔽无效 token,从而保证输出符合 schema。
- When to use
- 提取结构化数据、调用工具或生成 JSON 时,解析错误或非法值会破坏下游代码的场景。
- Watch out
- 当真实答案不在允许的选项之内时,schema 约束可能迫使模型输出技术上合法但语义上毫无意义的值。
Loading technique guide…