零度API 文档
POST

Chat(结构化输出)

POST /v1/chat/completions — JSON 结构化输出

Chat(结构化输出)

强制模型按照指定 JSON 格式输出,适合需要解析返回数据的场景。

接口信息

HTTP 方法 POST
接口路径 /v1/chat/completions
认证 Bearer Token

方法一:response_format JSON 模式

{
  "model": "gpt-4o",
  "response_format": { "type": "json_object" },
  "messages": [
    {
      "role": "system",
      "content": "你是一个助手,必须以 JSON 格式回答。"
    },
    {
      "role": "user",
      "content": "提取以下文本中的姓名和年龄:张三今年25岁,是一名工程师。"
    }
  ]
}

方法二:JSON Schema(推荐)

使用 response_format.json_schema 精确定义输出结构:

from openai import OpenAI
from pydantic import BaseModel

client = OpenAI(
    base_url="https://api000.com/v1",
    api_key="sk-xxxxxxxxxxxxxxxx"
)

class Person(BaseModel):
    name: str
    age: int
    occupation: str

response = client.beta.chat.completions.parse(
    model="gpt-4o",
    messages=[
        {"role": "user", "content": "提取:张三今年25岁,是一名工程师。"}
    ],
    response_format=Person,
)

person = response.choices[0].message.parsed
print(person.name, person.age)  # 张三 25

注意事项

重要: 使用 JSON 模式时,必须在 system 或 user 消息中明确要求输出 JSON,否则模型可能会生成无休止的空白流。

零度API 文档