Claude On Google Cloud
← Alle Lektionen
Lektion 10Claude On Google Cloud

Response streaming

Zusammenfassung (Audio)

Keine Audio-Zusammenfassung für diese Lektion.

Studiennotizen

📝 Lernnotizen: Streaming von KI-Antworten

**1. Problem der Latenz (Verzögerung)**

  • Standard-Chat-Flow: Benutzer sendet Frage → Server sendet an Claude → Claude generiert vollständige Antwort → Server sendet Antwort zurück an App.
  • Herausforderung: Die Wartezeit zwischen Absenden der Anfrage und Erhalt der vollständigen Antwort kann lang sein (z. B. 10–30 Sekunden).
  • UX-Problem: Ein einfacher Lade-Spinner ist keine gute Benutzererfahrung; Nutzer erwarten eine sofortige Reaktion.

**2. Lösung: Streaming**

  • Definition: Anstatt auf die vollständige Antwort zu warten, sendet Claude die Antwort in kleinen, aufeinander aufbauenden "Chunks" (Teilen) zurück.
  • Vorteil: Der Nutzer sieht den Text sofort, während er generiert wird, was die wahrgenommene Latenz drastisch reduziert.
  • Mechanismus: Der Server empfängt einen kontinuierlichen Stream von Ereignissen (Events) von Claude.

**3. Funktionsweise des Streams**

  • Initialisierung: Der Server sendet die Benutzeranfrage an Claude. Claude sendet sofort ein erstes Signal (kein Textinhalt), das anzeigt, dass die Generierung begonnen hat.
  • Ereignisse (Events): Der Server erhält eine Reihe von Events. Jedes Event enthält einen kleinen Teil der generierten Antwort.
  • Chunk-Größe: Die Größe eines Events ist variabel; es kann ein einzelnes Wort oder ein ganzer Satz enthalten.
  • Verarbeitung: Der Server extrahiert den Text aus jedem Event und sendet diesen sofort an die Web- oder Mobile App zur Anzeige.

**4. Implementierung mit der SDK (Anthropic)**

  • Manuelle Iteration (Komplex):
  • Man iteriert über den Stream und muss spezifische Event-Typen erkennen.
  • Der relevante Typ ist raw_content_block_delta, da dieser den tatsächlichen generierten Text enthält.
  • Bevorzugte Methode (Einfach):
  • Verwendung der Methode client_messages. stream (anstatt der Standard-Chat-Funktion).
  • Die SDK bietet eine vereinfachte Iteration, bei der man direkt über den Text iterieren kann (for text in stream. text_stream).
  • Dies extrahiert automatisch nur den relevanten Textinhalt aus den komplexen Events.

**5. Speichern der vollständigen Antwort**

  • Ziel: Obwohl die Antwort gestreamt wird, muss der gesamte Inhalt oft gespeichert werden (z. B. in einer Datenbank).
  • Methode: Nach Abschluss des Streams kann die Methode stream. get_final_message verwendet werden, um alle einzelnen Chunks zu sammeln und sie zu einer einzigen, vollständigen Nachricht zusammenzufassen.

Takeaways

  • Das Hauptproblem im Standard-Chat-Flow ist die hohe Latenz (bis zu 30 Sekunden), was zu einer schlechten Benutzererfahrung führt.
  • Streaming löst dies, indem die KI-Antwort nicht wartet, sondern sofort in kleine, aufeinander aufbauende "Chunks" (Teile) gesendet wird.
  • Der Server empfängt einen kontinuierlichen Stream von Events, aus denen er den Text extrahiert und sofort an die App sendet.
  • Die bevorzugte Implementierung nutzt die SDK-Methode client_messages. stream, die die manuelle Event-Verarbeitung vereinfacht.
  • Nach Abschluss des Streams muss stream. get_final_message verwendet werden, um alle Chunks zu sammeln und die vollständige Antwort zu speichern.
Lernkarten 8 Karten
Frage
zum Aufdecken klicken · ←/→
Antwort
zum Zurückdrehen klicken
Nach Anki exportieren (.tsv) ↓
Wissensüberprüfung 0 Fragen

No quiz for this lesson yet.