生成自然语言内容是 ChatGPT 的强项,但你是否知道,它也可以稳定输出结构化数据格式(如 JSON、表格、字段列表),用于自动化任务、数据库填充、接口调用、产品数据生成等?
2025年6月,OpenAI 已支持 Function Calling(函数调用) 和稳定的 JSON结构输出控制,这为内容到数据的自动转换带来了新的可能。
✅ 应用场景一:生成结构化商品信息 JSON
示例需求:将一句自然语言描述转为标准商品数据结构
用户输入:
“这是一款适合户外旅行的防水背包,容量40L,有多个隔层,售价399元,有黑色和蓝色两个颜色。”
📦 输出结构目标(JSON格式):
{
"产品名称": "户外旅行防水背包",
"用途": "户外旅行",
"容量": "40L",
"功能": ["防水", "多隔层"],
"颜色": ["黑色", "蓝色"],
"价格": "399元"
}
Python 代码示例(调用 GPT-4-turbo):
import openai
openai.api_key = "你的API密钥"
prompt = """
请将以下商品描述转换成结构化 JSON 格式,字段包括:产品名称、用途、容量、功能、颜色、价格。
描述:“这是一款适合户外旅行的防水背包,容量40L,有多个隔层,售价399元,有黑色和蓝色两个颜色。”
"""
response = openai.ChatCompletion.create(
model="gpt-4-turbo",
messages=[{"role": "user", "content": prompt}],
temperature=0,
response_format="json" # 确保输出为结构化JSON(新版参数)
)
print(response.choices[0].message.content)
✅ 温馨提示:
response_format="json"
是 2024 年底开始支持的新特性,GPT 输出将更稳定、更严谨,不再是“看心情”的格式。
✅ 应用场景二:提取表格结构(如简历 → 字段表)
输入内容:
“张伟,男,29岁,毕业于北京大学电子工程系,有5年软件开发经验,精通Python和Java,目前就职于腾讯。”
目标结构(字段表):
字段 | 内容 |
---|---|
姓名 | 张伟 |
性别 | 男 |
年龄 | 29 |
毕业院校 | 北京大学 |
专业 | 电子工程 |
工作经验 | 5年 |
技能 | Python, Java |
当前公司 | 腾讯 |
提示词参考:
请将以下简历信息提取为表格,字段包括:姓名、性别、年龄、毕业院校、专业、工作经验、技能、当前公司。
此结构化数据可直接用于 Excel 批量处理或入数据库操作。
✅ 应用场景三:使用 Function Calling 结构化提取(进阶)
OpenAI 的 Function Calling 机制允许你指定参数格式,GPT 将严格返回结构内容。
示例定义:
functions = [
{
"name": "extract_product_info",
"description": "从自然语言中提取商品字段",
"parameters": {
"type": "object",
"properties": {
"产品名称": {"type": "string"},
"用途": {"type": "string"},
"容量": {"type": "string"},
"功能": {"type": "array", "items": {"type": "string"}},
"颜色": {"type": "array", "items": {"type": "string"}},
"价格": {"type": "string"}
},
"required": ["产品名称", "用途", "容量", "功能", "颜色", "价格"]
}
}
]
配合 function_call="auto"
,GPT 将自动输出匹配的结构结果,可嵌入到自动化系统中。
✅ 结语:让AI“写结构化”,让程序更聪明
过去,我们让AI写文案;现在,我们让AI生成“可处理的数据”。这让ChatGPT不仅是内容助手,更是数据入口、知识结构化引擎。掌握结构化生成技巧,你就能用它实现从文档提取到产品信息自动发布的完整流程。