pro Model HubDocs
Funktionen

Streaming

Antworten Token für Token empfangen.

Mit "stream": true schickt die API die Antwort als Server-Sent Events, während das Modell sie erzeugt. Nutzer sehen die ersten Wörter nach Sekundenbruchteilen statt erst nach der ganzen Antwort. Streaming kostet dasselbe wie ein normaler Request.

stream = client.chat.completions.create(
    model="mistral-small-24b",
    messages=[{"role": "user", "content": "Schreibe ein Haiku über Rechenzentren."}],
    stream=True,
    stream_options={"include_usage": True},
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)
    if chunk.usage:
        print("\n", chunk.usage)

Format

Jedes Event ist eine Zeile data: {...} mit einem chat.completion.chunk. Die neuen Teile stehen in choices[0].delta:

Feld in deltaInhalt
roleim ersten Chunk: assistant
contentnächstes Stück der Antwort
reasoning_contentnächstes Stück des Gedankengangs bei eingeschaltetem Reasoning – kommt vor content
tool_callsTool-Aufrufe, in Stücken (Argumente müssen zusammengesetzt werden)

Das Ende markiert data: [DONE]. Mit "stream_options": {"include_usage": true} kommt davor ein letzter Chunk mit leerem choices und den Token-Zahlen in usage – ohne diese Option liefert der Stream keine Token-Zahlen.

Tipp

Setze Proxys und Webserver zwischen deiner Anwendung und dem Browser so, dass sie Antworten nicht puffern (bei nginx z. B. proxy_buffering off).

Auf dieser Seite