功能特性
JSON / 结构化输出
让模型按固定格式输出,便于程序解析
需要把模型输出交给程序处理时,可以要求模型按 JSON 格式输出。常用两种方式:JSON 模式与 JSON Schema 模式。
适用模型
OpenAI、Gemini、千问等主流模型均支持 JSON 模式;JSON Schema 模式的支持程度因模型而异,请以厂商文档为准,或联系我们确认。
示例
JSON 模式:保证输出是合法 JSON,需要在提示词中说明要输出 JSON 以及字段含义。
from openai import OpenAI
client = OpenAI(api_key="YOUR_API_KEY", base_url="https://netnexus.top/api/v1")
resp = client.chat.completions.create(
model="qwen3.7-plus",
response_format={"type": "json_object"},
messages=[
{"role": "system", "content": "从用户输入中提取公司名称和联系电话,以 JSON 输出,字段为 company 和 phone。"},
{"role": "user", "content": "我是北京盈诺智网科技有限公司的,电话 13581932958。"},
],
)
print(resp.choices[0].message.content)JSON Schema 模式:用 Schema 精确约束字段与类型。
resp = client.chat.completions.create(
model="gpt-5.5",
messages=[{"role": "user", "content": "我是北京盈诺智网科技有限公司的,电话 13581932958。"}],
response_format={
"type": "json_schema",
"json_schema": {
"name": "contact",
"strict": True,
"schema": {
"type": "object",
"properties": {"company": {"type": "string"}, "phone": {"type": "string"}},
"required": ["company", "phone"],
"additionalProperties": False,
},
},
},
)注意事项
- 使用 JSON 模式时,提示词里必须明确要求输出 JSON,否则部分模型会报错或输出不稳定。
- 解析前仍建议做异常处理,防止输出被
max_tokens截断导致 JSON 不完整。
