什么是 GPT Structured Outputs?
·
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"]
}
}
}]
应用场景
- 数据提取:从非结构化文本中提取结构化信息
- API 调用:生成符合 API 要求的参数
- 表单填充:自动填写表单数据
- 数据分析:将自然语言转换为结构化数据
- 代码生成:生成符合特定格式的配置文件
优势
- ✅ 零错误率:保证输出完全符合 schema
- ✅ 减少后处理:无需额外的解析和验证逻辑
- ✅ 提高开发效率:简化集成流程
- ✅ 更好的类型安全:与 TypeScript 等类型系统良好配合
支持的模型
- GPT-4o
- GPT-4o-mini
- GPT-4-turbo
- 其他支持的新版本模型
GPT Structured Outputs 特别适合需要可靠、可预测数据格式的应用场景,大大降低了将 AI 集成到生产系统的复杂度。
更多推荐


所有评论(0)