Chat-Completion-API
Chat Completion
Dieser QAnswer-Endpunkt ist eine OpenAI-kompatible Chat-Completion.
Weitere Informationen finden Sie in der OpenAI-Dokumentation zum vollständigen Anfrage-/Antwortschema.
Für die Nutzung dieses Endpunkts ist ein API-Schlüssel erforderlich:
- Erstellen Sie einen auf Ihrer Profilseite
- Übergeben Sie den API-Schlüssel als Bearer-Token im Authorization-Header.
Ein Administrator muss einem Benutzer Credits zuweisen. Neue API-Schlüssel haben standardmäßig 0 Credits.
Payload-Beispiel
/api/v1/{llm_id}/chat/completions
Anfrageparameter
Der Endpunkt liest das Anfrageschema der aktuellen OpenAI-API. Wissenswert:
- max_completion_tokens begrenzt die Antwort einschließlich Reasoning. Das ältere max_tokens wird weiterhin gelesen, wenn max_completion_tokens fehlt. Fehlen beide, gilt die Einstellung Max. Ausgabetoken des Modells. Keiner der beiden darf das Kontextfenster des Modells überschreiten.
- reasoning_effort nimmt none, minimal, low, medium, high oder xhigh an, und max bei Modellen, die es anbieten. minimal wird als low an das Modell gesendet. Ohne Angabe gilt die Reasoning-Einstellung des Modells.
- Eine developer-Nachricht erreicht das Modell als system-Nachricht.
- Das Reasoning des Modells ist nicht in der Antwort enthalten. Senden Sie include_reasoning: true (eine QAnswer-Erweiterung), um es zu erhalten: Es kommt dann in message.reasoning_content, beim Streaming in delta.reasoning_content.
- Ohne temperature gilt der Standardwert des Modells.
- n größer als 1 wird mit einem 400-Fehler abgelehnt, wenn das Modell nur eine Auswahl zurückgeben kann (zum Beispiel Anthropic-Modelle).
- Ein Fehler kommt mit dem Fehlerobjekt von OpenAI: error.message, error.type, error.param und error.code, der QAnswer-Fehlerschlüssel.
Token-Verbrauch
Jede Antwort meldet die verbrauchten Tokens in usage: prompt_tokens, completion_tokens und total_tokens. Wenn der Anbieter des Modells eine Aufschlüsselung liefert, gibt QAnswer sie weiter:
- prompt_tokens_details.cached_tokens: Prompt-Tokens, die aus dem Prompt-Cache des Anbieters bedient wurden.
- completion_tokens_details.reasoning_tokens: Tokens, die ein Reasoning-Modell vor dem Schreiben seiner Antwort verbraucht hat.
- cache_creation_input_tokens und cache_read_input_tokens: die Cache-Zähler von Anthropic-Modellen für in den Cache geschriebene und aus dem Cache gelesene Tokens. Jeder erscheint nur, wenn er nicht 0 ist.
"usage": {
"prompt_tokens": 1250,
"completion_tokens": 310,
"total_tokens": 1560,
"prompt_tokens_details": { "cached_tokens": 1024 },
"completion_tokens_details": { "reasoning_tokens": 192 }
}Die Felder der Aufschlüsselung erscheinen nur, wenn der Anbieter sie liefert: Prüfen Sie, ob ein Feld vorhanden ist, bevor Sie es lesen.
Eine gestreamte Antwort meldet usage nur, wenn die Anfrage stream_options.include_usage auf true setzt: usage kommt dann in einem letzten Chunk, dessen choices-Liste leer ist.
Um Cache-Tokens getrennt von den übrigen Prompt-Tokens zu bepreisen, legen Sie die Cached Input Token Cost des Modells fest, siehe LLM-Anbieter.