Endpunkt: POST /v1/chat/completions (OpenAI-kompatibel).
Nachrichten & Rollen
Sie senden ein messages-Array mit Rollen:
system– steuert Grundverhalten/Instruktion,user– Ihre Eingaben,assistant– bisherige Antworten des Modells.
Die API ist zustandslos: Für einen Gesprächsverlauf hängen Sie die Antwort als assistant-
Nachricht an und schicken das gesamte Array beim nächsten Aufruf wieder mit.
from openai import OpenAI
client = OpenAI(base_url="https://api.rstcloud.de/v1", api_key="<APIKEY>")
messages = [
{"role": "system", "content": "Du bist ein hilfreicher Assistent."},
{"role": "user", "content": "Hallo!"},
]
r = client.chat.completions.create(model="qwen3-8b", messages=messages)
antwort = r.choices[0].message.content
print(antwort)
# Nächster Turn: Antwort anhängen und weiterfragen
messages.append({"role": "assistant", "content": antwort})
messages.append({"role": "user", "content": "Und auf Englisch?"})
print(client.chat.completions.create(model="qwen3-8b", messages=messages).choices[0].message.content)
Streaming
Mit "stream": true kommt die Antwort als Server-Sent-Events Token für Token. Die Nutzung
(Tokens) wird im letzten Event mitgeliefert.
Kontextlänge
Eingabe + Verlauf + Antwort müssen zusammen in die Kontextlänge des Modells passen (in Tokens;
grob 1 Token ≈ ¾ Wort). Wird sie überschritten, antwortet die API mit dem Fehler
context_length_exceeded (HTTP 400) inklusive des Modell-Maximums – kürzen Sie dann Eingabe/Verlauf
oder teilen Sie die Anfrage auf.