Zum Hauptinhalt springen
POST
/
openai
/
v1
/
chat
/
completions
Chat-Konversationsanfrage erstellen
curl --request POST \
  --url https://api.highwayapi.ai/openai/v1/chat/completions \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: <content-type>' \
  --data '
{
  "model": "<string>",
  "messages": [
    {
      "content": {
        "type": "<string>",
        "text": "<string>",
        "image_url": "<string>",
        "video_url": "<string>"
      },
      "role": "<string>",
      "name": "<string>"
    }
  ],
  "max_tokens": 123,
  "stream": {},
  "stream_options": {
    "include_usage": true
  },
  "n": {},
  "seed": {},
  "frequency_penalty": {},
  "presence_penalty": {},
  "repetition_penalty": {},
  "stop": {},
  "temperature": {},
  "top_p": {},
  "top_k": {},
  "min_p": {},
  "logit_bias": {},
  "logprobs": {},
  "top_logprobs": {},
  "tools": {
    "type": "<string>",
    "function": {
      "name": "<string>",
      "description": {},
      "parameters": {},
      "strict": true
    }
  },
  "response_format": {
    "type": "<string>",
    "json_schema": {
      "name": "<string>",
      "description": {},
      "schema": {},
      "strict": true
    }
  },
  "separate_reasoning": {},
  "enable_thinking": {}
}
'
{
  "choices": [
    {
      "finish_reason": "<string>",
      "index": 123,
      "message": {
        "role": "<string>",
        "content": {},
        "reasoning_content": {}
      }
    }
  ],
  "created": 123,
  "id": "<string>",
  "model": "<string>",
  "object": "<string>",
  "usage": {
    "completion_tokens": 123,
    "prompt_tokens": 123,
    "total_tokens": 123
  }
}
Generiert eine Modellantwort basierend auf der angegebenen Chat-Konversation

Anfrageheader

Content-Type
string
erforderlich
Enumerationswert: application/json
Authorization
string
erforderlich
Bearer-Authentifizierungsformat: Bearer {{API Key}}.

Anfragetext

model
string
erforderlich
Der Name des zu verwendenden Modells.
messages
object[]
erforderlich
Liste der Nachrichten, aus denen die aktuelle Konversation besteht.
max_tokens
integer
erforderlich
Die maximale Anzahl von Tokens, die in der Vervollständigung generiert werden.Wenn die Anzahl der Tokens Ihres Prompts (vorherige Nachrichten) plus max_tokens die Kontextlänge des Modells überschreitet, hängt das Verhalten von context_length_exceeded_behavior ab. Standardmäßig wird max_tokens reduziert, um in das Kontextfenster zu passen, anstatt einen Fehler zurückzugeben.
stream
boolean | null
Standard:false
Ob Teilfortschritte streamend zurückgegeben werden sollen. Wenn festgelegt, werden Tokens als servergesendete Ereignisse (SSE) nur mit Daten gesendet, sobald sie verfügbar sind, und der Stream wird mit einer data: [DONE]-Nachricht beendet.
stream_options
object | null
Optionen für die Streaming-Antwort. Legen Sie dies nur fest, wenn stream auf true gesetzt ist.
n
integer | null
Standard:1
Die Anzahl der Vervollständigungen, die für jeden Prompt generiert werden.Hinweis: Da dieser Parameter viele Vervollständigungen generieren kann, kann er Ihr Token-Kontingent schnell verbrauchen. Verwenden Sie ihn mit Vorsicht und stellen Sie sicher, dass Sie sinnvolle Einstellungen für max_tokens und stop haben.Erforderlicher Bereich: 1 < x < 128
seed
integer | null
Wenn angegeben, wird unser System sein Bestes tun, deterministisch zu sampeln, sodass wiederholte Anfragen mit demselben seed und denselben Parametern dieselben Ergebnisse zurückgeben sollten.
frequency_penalty
number | null
Standard:0
Positive Werte bestrafen neue Tokens basierend auf ihrer bisherigen Häufigkeit im Text und verringern die Wahrscheinlichkeit, dass das Modell dieselbe Zeile wortwörtlich wiederholt.Wenn das Ziel nur darin besteht, wiederholte Samples leicht zu reduzieren, liegen sinnvolle Werte zwischen 0.1 und 1. Wenn Wiederholungen stark unterdrückt werden sollen, kann der Koeffizient auf 2 erhöht werden, dies kann jedoch die Sample-Qualität erheblich verringern. Negative Werte können verwendet werden, um die Wahrscheinlichkeit von Wiederholungen zu erhöhen.Siehe auch presence_penalty, um Tokens, die mindestens einmal vorkommen, mit einer festen Rate zu bestrafen.Erforderlicher Bereich: -2 < x < 2
presence_penalty
number | null
Standard:0
Positive Werte bestrafen neue Tokens basierend darauf, ob sie bereits im Text vorkommen, und erhöhen die Wahrscheinlichkeit, dass das Modell über neue Themen spricht.Wenn das Ziel nur darin besteht, wiederholte Samples leicht zu reduzieren, liegen sinnvolle Werte zwischen 0.1 und 1. Wenn Wiederholungen stark unterdrückt werden sollen, kann der Koeffizient auf 2 erhöht werden, dies kann jedoch die Sample-Qualität erheblich verringern. Negative Werte können verwendet werden, um die Wahrscheinlichkeit von Wiederholungen zu erhöhen.Siehe auch frequency_penalty, um Tokens basierend auf ihrer Auftretenshäufigkeit mit einer steigenden Rate zu bestrafen.Erforderlicher Bereich: -2 < x < 2
repetition_penalty
number | null
Wendet eine Strafe auf wiederholte Tokens an, um Wiederholungen zu verhindern oder zu fördern. Ein Wert von 1.0 bedeutet keine Strafe und erlaubt freie Wiederholung. Werte über 1.0 bestrafen Wiederholungen und verringern die Wahrscheinlichkeit wiederholter Tokens. Werte zwischen 0.0 und 1.0 belohnen Wiederholungen und erhöhen die Chance auf wiederholte Tokens. Für ein gutes Gleichgewicht wird in der Regel ein Wert von 1.2 empfohlen. Beachten Sie, dass die Strafe sowohl auf die generierte Ausgabe als auch auf den Prompt in Decoder-only-Modellen angewendet wird.Erforderlicher Bereich: 0 < x < 2
stop
string | null
Bis zu 4 Sequenzen, bei denen die API die Generierung weiterer Tokens stoppt. Der zurückgegebene Text enthält die Stoppsequenz.
temperature
number | null
Standard:1
Die zu verwendende Sampling-Temperatur zwischen 0 und 2. Höhere Werte wie 0.8 machen die Ausgabe zufälliger, während niedrigere Werte wie 0.2 sie fokussierter und deterministischer machen.Wir empfehlen in der Regel, entweder dies oder top_p zu ändern, aber nicht beides gleichzeitig.Erforderlicher Bereich: 0 < x < 2
top_p
number | null
Eine Alternative zur Sampling-Temperatur, bekannt als Nucleus Sampling, bei der das Modell die Token-Ergebnisse mit einer top_p-Wahrscheinlichkeitsmasse berücksichtigt. Daher bedeutet 0.1, dass nur die Tokens berücksichtigt werden, die die obersten 10 % der Wahrscheinlichkeitsmasse ausmachen. Wir empfehlen in der Regel, entweder dies oder die Temperatur zu ändern, aber nicht beides gleichzeitig.Erforderlicher Bereich: 0 < x <= 1
top_k
integer | null
Top-k-Sampling ist eine weitere Sampling-Methode, bei der die k wahrscheinlichsten nächsten Tokens gefiltert werden und die Wahrscheinlichkeitsmasse nur zwischen diesen k nächsten Tokens neu verteilt wird. Der Wert von k steuert die Anzahl der Kandidaten für das nächste Token bei jedem Schritt während der Texterzeugung.Erforderlicher Bereich: 1 < x < 128
min_p
number | null
Gibt die minimale Wahrscheinlichkeit an, mit der Tokens berücksichtigt werden, relativ zur Wahrscheinlichkeit des wahrscheinlichsten Tokens.Erforderlicher Bereich: 0 <= x <= 1
logit_bias
map[string, integer] | null
Ändert die Wahrscheinlichkeit, dass angegebene Tokens in der Vervollständigung erscheinen.Akzeptiert ein JSON-Objekt, das Tokens auf zugehörige Bias-Werte zwischen -100 und 100 abbildet. Mathematisch wird der Bias zu den vom Modell vor dem Sampling erzeugten Logits addiert. Der genaue Effekt variiert je nach Modell.Beispielsweise erhöht das Festlegen von "logit_bias":{"1024": 6} die Wahrscheinlichkeit von Tokens mit der Token-ID 1024.
logprobs
boolean | null
Standard:false
Ob die Log-Wahrscheinlichkeiten der Ausgabe-Tokens zurückgegeben werden sollen. Wenn true, werden die Log-Wahrscheinlichkeiten jedes Ausgabe-Tokens im Nachrichteninhalt zurückgegeben.
top_logprobs
integer | null
Eine Ganzzahl zwischen 0 und 20, die angibt, wie viele der wahrscheinlichsten Tokens an jeder Token-Position zurückgegeben werden, jeweils mit einer zugehörigen Log-Wahrscheinlichkeit. Wenn dieser Parameter verwendet wird, muss logprobs auf true gesetzt sein.Erforderlicher Bereich: 0 <= x <= 20
tools
object[] | null
Eine Liste von Tools, die das Modell aufrufen kann. Derzeit werden nur Funktionen als Tools unterstützt. Verwenden Sie dies, um eine Liste von Funktionen bereitzustellen, für die das Modell JSON-Eingaben generieren kann.Weitere Informationen zu Funktionsaufrufen finden Sie im Leitfaden zu Funktionsaufrufen.
response_format
object | null
Ermöglicht, das Modell zur Generierung eines bestimmten Ausgabeformats zu zwingen.Auf { "type": "json_schema", "json_schema": {...} } setzen, um strukturierte Ausgaben zu aktivieren und sicherzustellen, dass das Modell mit dem von Ihnen bereitgestellten JSON schema übereinstimmt.Auf { "type": "json_object" } setzen, um den älteren JSON-Modus zu aktivieren und sicherzustellen, dass die vom Modell generierte Nachricht gültiges JSON ist. Für Modelle, die dies unterstützen, wird json_schema empfohlen.
separate_reasoning
boolean | null
Standard:false
Ob die Schlussfolgerung vom “content” in das Feld “reasoning_content” getrennt werden soll.Unterstützte Modelle:
  • deepseek/deepseek-r1-turbo
enable_thinking
boolean | null
Standard:true
Steuert den Wechsel zwischen Denkmodus und Nicht-Denkmodus.Unterstützte Modelle:
  • zai-org/glm-4.5

Antwortinformationen

choices
object[]
erforderlich
Liste der Chat-Vervollständigungsoptionen.
created
integer
erforderlich
Die Unix-Zeit (in Sekunden), zu der die Antwort generiert wurde.
id
string
erforderlich
Die eindeutige Kennung der Antwort.
model
string
erforderlich
Das für die Chat-Vervollständigung verwendete Modell.
object
string
erforderlich
Der Objekttyp, immer chat.completion.
usage
object
Nutzungsstatistiken.Bei Streaming-Antworten ist das usage-Feld im letzten zurückgegebenen Antwortblock enthalten.