메인 콘텐츠로 건너뛰기
구조화된 출력은 JSON mode와 비슷하지만, 모델의 응답이 사용자가 지정한 스키마를 따르도록 보장한다는 추가 이점이 있습니다. 가능하면 JSON mode 대신 구조화된 출력을 사용하는 것이 좋습니다. 구조화된 출력을 활성화하려면 요청에서 response_formattype으로 json_schema를 지정하세요:
import json
import openai

client = openai.OpenAI(
    base_url='https://api.inference.wandb.ai/v1',
    api_key="<your-api-key>",  # https://wandb.ai/settings에서 API 키를 생성하세요
)

response = client.chat.completions.create(
    model="openai/gpt-oss-20b",
    messages=[
        {"role": "system", "content": "Extract the event information."},
        {"role": "user", "content": "Alice and Bob are going to a science fair on Friday."},
    ],
    response_format={
        "type": "json_schema",
        "json_schema": {
            "name": "CalendarEventResponse",
            "strict": True,
            "schema": {
                "type": "object",
                "properties": {
                    "name": {"type": "string"},
                    "date": {"type": "string"},
                    "participants": {"type": "array", "items": {"type": "string"}},
                },
                "required": ["name", "date", "participants"],
                "additionalProperties": False,
            },
        },
    },
)

content = response.choices[0].message.content
parsed = json.loads(content)
print(parsed)