Passer au contenu principal
La sortie structurée est similaire au mode JSON, mais elle offre l’avantage supplémentaire de garantir que la réponse du modèle respecte le schéma que vous spécifiez. Nous vous recommandons d’utiliser la sortie structurée plutôt que le mode JSON lorsque c’est possible. Pour activer la sortie structurée, spécifiez json_schema comme type de response_format dans la requête :
import json
import openai

client = openai.OpenAI(
    base_url='https://api.inference.wandb.ai/v1',
    api_key="<your-api-key>",  # Créez une clé API sur https://wandb.ai/settings
)

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)