Zum Hauptinhalt springen
DokumentationDevelopers

Chat Completions

Erzeuge Text mit der Chat-Completions-API von OpenAI: eine Antwort, einen Strom von Tokens oder Aufrufe deiner eigenen Tools.

Menü der Dokumentation

Eine Konversation senden

curl "$CCSIO_BASE_URL/chat/completions" \
  -H "Authorization: Bearer $CCSIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3.8-flash-next",
    "messages": [{"role": "user", "content": "Say hello in one sentence."}]
  }'

Die API speichert keine Konversation zwischen den Aufrufen: Sende jedes Mal den gesamten Verlauf in messages, die älteste Nachricht zuerst, mit den Rollen system, user, assistant und tool.

Parameter

ParameterHinweise
model, messagesPflichtangaben.
streamtrue streamt die Antwort als Server-Sent Events; false oder keine Angabe liefert ein einzelnes JSON-Objekt.
temperature, top_p, seedSampling, wird an das Modell weitergegeben.
max_tokens, max_completion_tokens, stopLegen fest, wo die Antwort endet; werden an das Modell weitergegeben.
n, presence_penalty, frequency_penaltyWerden an das Modell weitergegeben.
response_formatJSON-Ausgabe, wenn das Modell sie unterstützt.
tools, tool_choiceFunction Calling, siehe unten.
userDeine eigene Kennung für Endnutzer, wird an das Modell weitergegeben.

Einen Parameter, den das Modell nicht unterstützt, lehnt das Modell ab, und du erhältst seine Ablehnung als 400.

Streaming

Mit "stream": true ist die Antwort ein text/event-stream. Jede data:-Zeile enthält einen chat.completion.chunk; der Stream endet mit data: [DONE]. Die Plattform fragt beim Modell immer die Token-Zahlen mit ab, daher hat der letzte Chunk vor [DONE] leere choices und ein usage-Objekt.

curl -N "$CCSIO_BASE_URL/chat/completions" \
  -H "Authorization: Bearer $CCSIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3.8-flash-next",
    "stream": true,
    "messages": [{"role": "user", "content": "Write a haiku about the sea."}]
  }'
SSE
data: {"id":"chatcmpl-9b1c4e7f2a6d","object":"chat.completion.chunk","created":1792406148,"model":"qwen3.8-flash-next","choices":[{"index":0,"delta":{"role":"assistant","content":"Waves"},"finish_reason":null}]}

data: {"id":"chatcmpl-9b1c4e7f2a6d","object":"chat.completion.chunk","created":1792406148,"model":"qwen3.8-flash-next","choices":[{"index":0,"delta":{"content":" fold into foam"},"finish_reason":null}]}

data: {"id":"chatcmpl-9b1c4e7f2a6d","object":"chat.completion.chunk","created":1792406148,"model":"qwen3.8-flash-next","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: {"id":"chatcmpl-9b1c4e7f2a6d","object":"chat.completion.chunk","created":1792406148,"model":"qwen3.8-flash-next","choices":[],"usage":{"prompt_tokens":16,"completion_tokens":17,"total_tokens":33}}

data: [DONE]
Was über die Leitung ankommt.

Tools (Function Calling)

Beschreibe deine Funktionen in tools. Entscheidet das Modell, eine davon aufzurufen, enthält die Antwort die Aufrufe in choices[0].message.tool_calls; führe sie aus und sende die Ergebnisse als tool-Nachrichten zurück.

import os
from openai import OpenAI

client = OpenAI(
    base_url=os.environ["CCSIO_BASE_URL"],
    api_key=os.environ["CCSIO_API_KEY"],
)

tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "The current weather of a city.",
        "parameters": {
            "type": "object",
            "properties": {"city": {"type": "string"}},
            "required": ["city"],
        },
    },
}]

completion = client.chat.completions.create(
    model="qwen3.8-flash-next",
    messages=[{"role": "user", "content": "What is the weather in Bogotá?"}],
    tools=tools,
)
for call in completion.choices[0].message.tool_calls or []:
    print(call.function.name, call.function.arguments)  # get_weather {"city": "Bogotá"}

Anfragen gruppieren

Sende X-Session-Id mit einer eigenen Kennung (eine Konversation, ein Job, ein Ticket), um alle zugehörigen Anfragen gemeinsam im Request-Log zu finden.

Plattform entdecken

Deinen ersten API-Key holen

Die Registrierung ist offen. Vier Schritte bis zum ersten Aufruf: Konto erstellen, Organisation anlegen, API-Key erzeugen, loslegen.

  1. 01Konto erstellen
  2. 02Organisation anlegen
  3. 03API-Key erzeugen
  4. 04Loslegen