Streaming von einer Erweiterung
Vorbereitende Schritte
Wenn Sie das Streaming im Webchat aktivieren möchten, führen Sie die folgenden Schritte aus:
- Gehen Sie zu Startseite > Vorschau > Webchat anpassen.
- Klicken Sie auf die Registerkarte "Stile ".
- Setzen Sie die Schaltfläche Streaming auf
On
. - Klicken Sie auf Speichern und beenden.
Streaming über eine Nebenstelle
Sie können die Schritte befolgen, die in Rufen Sie die benutzerdefinierte Erweiterung auf. Wenn die ausgewählte Betrieb definiert text/event-stream
als Antwort content-type
, dann ermöglicht die Funktion die Auswahl des Textes, der aus dem durch die Operation generierten SSE gestreamt werden soll.

Wenn Ihr Vorgang Server-Sent Events wie die folgenden Beispiele generiert:
data: {"model_id":"ibm/granite-13b-chat-v2","created_at":"2024-07-01T21:49:29.696Z","results":[{"generated_text":"to lear","generated_token_count":10,"input_token_count":0,"stop_reason":"not_finished"}]}
data: {"model_id":"ibm/granite-13b-chat-v2","created_at":"2024-07-01T21:49:29.731Z","results":[{"generated_text":"n ne","generated_token_count":11,"input_token_count":0,"stop_reason":"not_finished"}]}
data: {"model_id":"ibm/granite-13b-chat-v2","created_at":"2024-07-01T21:49:29.767Z","results":[{"generated_text":"w skill","generated_token_count":12,"input_token_count":0,"stop_reason":"not_finished"}]}
Geben Sie text
als JSON-Pfad in watsonx Assistant an, um anzugeben, wo der Text oder das Token aus jeder SSE extrahiert wird. Im vorherigen Beispiel results[0].generated_text
ist der Pfad, aus dem der Text extrahiert
wird. Das Ergebnis lautet:to learn new
.
Ausführen des Streams
Wenn die benutzerdefinierte Erweiterung aufgerufen wird, versucht watsonx Assistant, einen Anruf zu tätigen, um Text von der angegebenen Operation zu streamen. Der nächste Schritt wird erst ausgeführt, wenn der Stream erfolgreich
abgeschlossen wurde oder vor dem Start des Streamings ein Fehler auftritt. Wenn der Stream erfolgreich abgeschlossen wird, wird der gestreamte Text gespeichert im .body
Eigenschaft der Ergebnisvariablen.
Sie können auf Eigenschaften des letzten Ereignisses im Stream zugreifen, indem Sie auf die Eigenschaft .last_event
verweisen. Verwenden Sie zum Beispiel ${step_596_result_1.last_event.citations}
, um bestimmte Daten
abzurufen.
Auf Erfolg oder Fehler überprüfen
Verwenden Sie die Ran successfully
Antwortvariable, um zu prüfen, ob der Stream erfolgreich abgeschlossen wurde, oder um Fälle zu behandeln, in denen der Stream nicht gestartet werden kann. Diese Variable gibt einen Booleschen Wert
(true oder false) zurück. Es ist true
wenn der Stream erfolgreich abgeschlossen wird und false
wenn der Stream nicht gestartet werden kann. Weitere Informationen zur Konditionierung basierend auf HTTP finden Sie unter
"Konditionierung auf HTTP ", um zu erfahren, wie Sie konditionieren können.
Wenn der Stream nach dem Start aufgrund von Netzwerkproblemen fehlschlägt oder das maximale Timeout von 30 Sekunden erreicht, wird für den Benutzer ein Fehler generiert.