Zum Hauptinhalt springen
Zwei Pfade:
  • response_format: {"type": "json_object"} — Modell gibt gültiges JSON zurück
  • response_format: {"type": "json_schema", "json_schema": {...}} — Modellausgabe entspricht deinem Schema

Beispiel (json_schema, OpenAI)

resp = client.chat.completions.create(
    model="openai/gpt-4o-mini",
    messages=[{"role": "user", "content": "Extract name and age."}],
    response_format={
        "type": "json_schema",
        "json_schema": {
            "name": "person",
            "strict": True,
            "schema": {
                "type": "object",
                "properties": {
                    "name": {"type": "string"},
                    "age": {"type": "integer"},
                },
                "required": ["name", "age"],
            },
        },
    },
)

Anbieterübergreifende Unterstützung

response_format wird überall unterstützt, wo das Upstream-Modell es honorieren kann. Für Gemini bildet die Übersetzungsschicht von OrcaRouter es auf responseMimeType + responseSchema ab. Für OpenAI / Grok / DeepSeek (alle OpenAI-kompatiblen Upstreams) erreicht das Feld den Upstream in seiner nativen Form. Anthropic stellt kein response_format-Äquivalent bereit, also verwende dort das tool_use-Muster von Anthropic, wenn du schema-eingeschränkte Ausgabe benötigst.
Anbieterjson_objectjson_schemaAnmerkungen
OpenAINative OpenAI-Feldform
Grok (xAI)xAI ist OpenAI-kompatibel
DeepSeek⚠️Prüfe DeepSeeks Unterstützung pro Modell
GeminiÜbersetzt zu responseMimeType + responseSchema
AnthropicVerwende stattdessen das tool_use-Muster

Siehe auch