Funktionen
Strukturierte Ausgabe
Antworten mit response_format auf der OpenAI-Oberfläche auf JSON einschränken
Verwenden Sie response_format bei /v1/chat/completions, damit das Modell JSON statt Freitext zurückgibt.
from openai import OpenAI
import json
client = OpenAI(
base_url="https://api.ablatic.ai/v1",
api_key="sk-ablatic-...",
)
resp = client.chat.completions.create(
model="talos",
messages=[{"role": "user", "content": "Extract the city and country from: Linz, Austria"}],
response_format={
"type": "json_schema",
"json_schema": {
"name": "location",
"schema": {
"type": "object",
"properties": {
"city": {"type": "string"},
"country": {"type": "string"},
},
"required": ["city", "country"],
},
},
},
)
data = json.loads(resp.choices[0].message.content)
print(data["city"], data["country"])Modi
response_format akzeptiert drei Werte:
textgibt reinen Text zurück. Das ist der Standard.json_objectgibt ein JSON-Objekt ohne Schema-Einschränkung zurück.json_schemagibt JSON zurück, das dem von Ihnen angegebenen Schema folgt.
Nicht auf der Anthropic-Oberfläche verfügbar
response_format funktioniert nur auf der OpenAI-Oberfläche. Bei /v1/messages wird das Feld nicht berücksichtigt, daher sind strukturierte Ausgaben dort nicht verfügbar. Um die Ausgabeform mit dem Anthropic SDK einzuschränken, verwenden Sie ein Tool mit einem input_schema und lesen Sie das tool_use.input-Objekt.
response_format hat bei /v1/messages keine Wirkung. Verwenden Sie die OpenAI-Oberfläche für strukturierte JSON-Ausgabe.