Skip to Content
DokumentationAnleitungenStrukturierte Ausgabe

Strukturierte Ausgabe

Strukturierte Ausgabe lässt das Modell Daten im von Ihnen vorgegebenen JSON-Format zurückgeben — ideal für Datenextraktion, Klassifizierung, Formularfüllung und ähnliche Anwendungsfälle.

JSON Mode

Der einfachste Weg zur strukturierten Ausgabe — das Modell wird zur Rückgabe von gültigem JSON gezwungen:

json_mode.py
from openai import OpenAI client = OpenAI( base_url="https://api.ofox.ai/v1", api_key="<Ihr OFOXAI_API_KEY>" ) response = client.chat.completions.create( model="openai/gpt-4o", messages=[ {"role": "system", "content": "Sie sind ein Datenextraktionsassistent. Geben Sie die Ergebnisse im JSON-Format zurück."}, {"role": "user", "content": "Extrahieren Sie Name, Firma und Position aus folgendem Text: Max Müller ist Senior Engineer bei SAP"} ], response_format={"type": "json_object"} ) import json result = json.loads(response.choices[0].message.content) print(result) # {"name": "Max Müller", "company": "SAP", "title": "Senior Engineer"}

Bei Verwendung des JSON Mode muss der System-Prompt das Schlüsselwort „JSON” enthalten, da manche Modelle die Formatanforderung sonst ignorieren.

JSON-Schema-Constraints

Noch präzisere Kontrolle über die Ausgabestruktur — Feldnamen und Typen werden exakt vorgegeben:

json_schema.py
response = client.chat.completions.create( model="openai/gpt-4o", messages=[ {"role": "user", "content": "Analysiere die Stimmung dieser Nutzerbewertung: Dieses Produkt ist fantastisch, sehr benutzerfreundlich!"} ], response_format={ "type": "json_schema", "json_schema": { "name": "sentiment_analysis", "schema": { "type": "object", "properties": { "sentiment": { "type": "string", "enum": ["positive", "negative", "neutral"], "description": "Stimmungstendenz" }, "confidence": { "type": "number", "description": "Konfidenz 0-1" }, "keywords": { "type": "array", "items": {"type": "string"}, "description": "Emotionale Schlüsselwörter" } }, "required": ["sentiment", "confidence", "keywords"], "additionalProperties": False } } } )

Ausgabe:

{ "sentiment": "positive", "confidence": 0.95, "keywords": ["fantastisch", "sehr benutzerfreundlich"] }

Praxisszenarien

Datenextraktion

# Strukturierte Daten aus unstrukturiertem Text extrahieren response = client.chat.completions.create( model="openai/gpt-4o", messages=[{ "role": "user", "content": """Extrahieren Sie die folgenden Bestellinformationen: Kunde Max Müller hat am 15. Januar 2025 drei MacBook Pro bestellt, Stückpreis 2.499 Euro, Lieferadresse: Berlin, Bezirk Mitte, Beispielstraße 123""" }], response_format={ "type": "json_schema", "json_schema": { "name": "order_info", "schema": { "type": "object", "properties": { "customer": {"type": "string"}, "date": {"type": "string"}, "items": { "type": "array", "items": { "type": "object", "properties": { "name": {"type": "string"}, "quantity": {"type": "integer"}, "unit_price": {"type": "number"} } } }, "address": {"type": "string"} }, "required": ["customer", "date", "items", "address"] } } } )

Klassifizierung

# Multi-Label-Klassifizierung response = client.chat.completions.create( model="openai/gpt-4o", messages=[{ "role": "user", "content": "Klassifiziere das Thema dieses Artikels: KI-Technologie wird im Gesundheitswesen immer breiter eingesetzt..." }], response_format={ "type": "json_schema", "json_schema": { "name": "classification", "schema": { "type": "object", "properties": { "primary_category": {"type": "string"}, "secondary_categories": { "type": "array", "items": {"type": "string"} }, "tags": { "type": "array", "items": {"type": "string"} } }, "required": ["primary_category"] } } } )

Unterstützte Modelle

ModellJSON ModeJSON Schema
openai/gpt-4oJaJa
openai/gpt-4o-miniJaJa
anthropic/claude-sonnet-4.5Ja
google/gemini-3-flash-previewJaJa

Modelle ohne JSON-Schema-Unterstützung können einen ähnlichen Effekt erzielen, indem das erwartete JSON-Format im System-Prompt detailliert beschrieben wird.

Last updated on