Passer au contenu principal
La sortie structurée contraint les réponses de Serverless Inference à respecter un schéma JSON spécifique, ce qui garantit que la réponse du modèle est conforme aux champs et aux types que vous définissez. Utilisez la sortie structurée lorsque votre application doit analyser les réponses du modèle dans des champs connus, par exemple pour l’extraction de données, le remplissage de formulaires ou le traitement en aval. 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. Utilisez 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. L’exemple suivant extrait les détails d’un événement dans un schéma défini :
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)