[← Alle Anleitungen](/tutorials/)Dokumentation durchsuchen

[Offizielle DeepSeek-Dokumentation ↗](https://api-docs.deepseek.com/)

# Streaming-Antworten

Zeige Antworten schrittweise an, statt auf die vollständige Ausgabe zu warten.

**Verbindungsdaten** · Verwende Schlüssel, Basis-URL und Modell-ID aus [deinem Konto](/account/keys/). Basis-URL: Nach Freischaltung im unabhängigen Konto verfügbar. api.example.invalid ist nur ein Platzhalter.

api.example.invalid ist ein Platzhalter. Verwende die Basis-URL aus den Verbindungsdaten deines deepseekabo-Kontos.

## Bevor du beginnst

Schließe [deinen ersten API-Aufruf](/docs/quickstart/)ab, installiere das Python-Paket `openai` und behalte dieselben Umgebungsvariablen. Dein Anbieter muss Streaming für Chat Completions unterstützen.

## Datenblöcke mit Python lesen

Aktiviere `stream=True`. Eine Streaming-Antwort liefert schrittweise `delta` Objekte statt einer vollständigen Nachricht. Manche Datenblöcke enthalten keinen Text; prüfe den Inhalt vor der Ausgabe.

```python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["CODING_PLAN_API_KEY"],
    base_url=os.environ["CODING_PLAN_BASE_URL"],
)
with client.chat.completions.create(
    model=os.environ["CODING_PLAN_MODEL"],
    messages=[{"role": "user", "content": "Explain recursion briefly."}],
    stream=True,
) as stream:
    for chunk in stream:
        if not chunk.choices:
            continue
        text = chunk.choices[0].delta.content
        if text:
            print(text, end="", flush=True)
print()
```

## Den Stream verstehen

Chat-Completions-Streaming nutzt Server-Sent Events. Lass das SDK sie dekodieren; ein Netzwerkpaket entspricht nicht unbedingt einem Ereignis. Text kann in kleinen Fragmenten eintreffen; ein finales Ereignis kann ein leeres Text-Delta enthalten.

Reasoning-Modelle können zusätzliche Reasoning-Felder liefern. Dieses Beispiel zeigt nur den Antwortinhalt. Prüfe vor Verarbeitung weiterer Felder das Antwortschema des Anbieters.

## Unterbrechungen behandeln

Unterscheide sichtbar zwischen abgeschlossener Antwort und Teilausgabe nach Verbindungsabbruch. Nutze ein passendes Zeitlimit, ermögliche Abbruch und schließe den Stream, wenn der Leser stoppt.

Hänge eine neu gestartete Anfrage nicht automatisch an eine Teilausgabe an: Eine neue Generierung kann abweichen und weiteres Kontingent verbrauchen. Siehe [Fehlercodes](/docs/error-codes/) für Wiederholungshinweise.

## Verbrauch erfassen

Verbrauchsfelder können von den Streaming-Optionen des Anbieters abhängen. Schätze abgerechnete Nutzung nicht aus Anzahl angezeigter Datenblöcke oder Zeichen. Vergleiche Rückgabewerte mit der Verbrauchsübersicht des Anbieters.

Referenz: [DeepSeek Chat Completions API](https://api-docs.deepseek.com/api/create-chat-completion/).

AUF DIESER SEITE

[Bevor du beginnst](#before-you-start)[Datenblöcke mit Python lesen](#read-chunks-with-python)[Den Stream verstehen](#understand-the-stream)[Unterbrechungen behandeln](#handle-interruptions)[Verbrauch erfassen](#track-usage) Brauchst du Hilfe? [Fehler beheben →](/docs/error-codes/)
