IBM Cloud Docs
Streaming von einer Erweiterung

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.

Streaming von einer Erweiterung
Streaming von einer Erweiterung

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.