GPT Structured Outputs 是 OpenAI 推出的一项功能,它允许模型以结构化的格式(如 JSON)输出数据,确保输出符合预定义的 schema(模式)。

核心特点

1. 类型安全

  • 确保输出数据符合指定的数据类型(字符串、数字、布尔值、数组、对象等)
  • 避免模型生成不符合预期的数据格式

2. Schema 定义

使用 JSON Schema 来定义输出结构,例如:

{
  "type": "object",
  "properties": {
    "name": { "type": "string" },
    "age": { "type": "number" },
    "email": { "type": "string", "format": "email" }
  },
  "required": ["name", "age"]
}

3. 可靠性提升

  • 传统方式:模型可能生成格式不正确的 JSON
  • Structured Outputs:保证输出 100% 符合 schema

使用方式

方式一:通过 API 参数

from openai import OpenAI

client = OpenAI()

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "user", "content": "提取用户信息"}
    ],
    response_format={
        "type": "json_schema",
        "json_schema": {
            "name": "user_info",
            "strict": True,
            "schema": {
                "type": "object",
                "properties": {
                    "name": {"type": "string"},
                    "age": {"type": "number"}
                },
                "required": ["name", "age"]
            }
        }
    }
)

方式二:通过 Function Calling

tools = [{
    "type": "function",
    "function": {
        "name": "extract_user_info",
        "parameters": {
            "type": "object",
            "properties": {
                "name": {"type": "string"},
                "age": {"type": "number"}
            },
            "required": ["name", "age"]
        }
    }
}]

应用场景

  1. 数据提取:从非结构化文本中提取结构化信息
  2. API 调用:生成符合 API 要求的参数
  3. 表单填充:自动填写表单数据
  4. 数据分析:将自然语言转换为结构化数据
  5. 代码生成:生成符合特定格式的配置文件

优势

  • 零错误率:保证输出完全符合 schema
  • 减少后处理:无需额外的解析和验证逻辑
  • 提高开发效率:简化集成流程
  • 更好的类型安全:与 TypeScript 等类型系统良好配合

支持的模型

  • GPT-4o
  • GPT-4o-mini
  • GPT-4-turbo
  • 其他支持的新版本模型

GPT Structured Outputs 特别适合需要可靠、可预测数据格式的应用场景,大大降低了将 AI 集成到生产系统的复杂度。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐