Skip to main content
结构化输出强制模型返回符合您定义的结构的 JSON 对象。这消除了解析、验证或重试非结构化模型输出的需要。 ARouter 支持两种结构化输出模式:

使用结构化输出

在请求体中传入 response_format

JSON Object 模式

模型返回有效 JSON,但不强制执行结构:

JSON Schema 模式

使用 json_schema 强制执行严格结构:
响应:

完整示例

模型支持

支持 strict: truejson_schema 模式的模型包括:
  • openai/gpt-5.4, openai/gpt-5.4-pro, openai/o3, openai/o4-mini
  • anthropic/claude-sonnet-4.6, anthropic/claude-opus-4.5
  • google/gemini-2.5-flash, google/gemini-2.5-pro
json_object 模式(无结构强制)的支持范围更广。请查看 GET /v1/models 获取最新的能力信息。

流式结构化输出

结构化输出支持流式传输。JSON 内容增量传递,由客户端进行组装:

最佳实践

  1. 使用 strict: true — 这可以保证结构遵从性。否则模型可能返回不完全符合结构的有效 JSON。
  2. 设置 additionalProperties: false — 严格模式必须设置。防止模型添加额外的键。
  3. 明确列出所有必填字段 — 在严格模式下,properties 中的每个字段都应在 required 中。
  4. 包含系统提示 — 告知模型作为数据提取或结构化输出助手的角色,可提高可靠性。

错误处理

如果模型无法生成与您的结构匹配的有效 JSON(如提示与结构根本冲突),响应的 finish_reason 将为 "length""content_filter"。解析内容前始终检查 finish_reason