Streaming depuis une extension
Avant de commencer
Si vous souhaitez activer le streaming sur webchat, procédez comme suit :
- Allez dans Home > Preview > Personnaliser le web chat.
- Cliquez sur l'onglet Styles.
- Réglez le bouton Streaming sur
On
. - Cliquez sur Sauvegarder et quitter.
Comment diffuser en continu à partir d'une extension
Vous pouvez suivre les étapes décrites dans Appeler l'extension personnalisée. Si le sélectionné Opération définit text/event-stream
comme
réponse content-type
, la fonctionnalité permet alors la sélection du texte à diffuser à partir du SSE généré par l'opération.

Si votre opération génère des événements envoyés par le serveur comme dans les exemples suivants :
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"}]}
Spécifiez text
comme chemin JSON dans watsonx Assistant pour indiquer où le texte ou le jeton est extrait de chaque ESS. Dans l'exemple précédent,results[0].generated_text
est le chemin à partir duquel le texte est
extrait, ce qui donne :to learn new
.
Exécution du flux
Lorsque l'extension personnalisée est appelée, watsonx Assistant tente un appel pour diffuser du texte à partir de l'opération spécifiée. L'étape suivante s'exécute uniquement une fois le flux terminé avec succès ou si une erreur
se produit avant le début du streaming. Si le flux se termine avec succès, le texte diffusé est stocké dans le .body
propriété de la variable résultat.
Vous pouvez accéder aux propriétés du dernier événement du flux en faisant référence à la propriété .last_event
. Par exemple, utilisez ${step_596_result_1.last_event.citations}
pour récupérer des données spécifiques.
Vérification du succès ou de l'échec
Utilisez le Ran successfully
variable de réponse pour vérifier si le flux se termine avec succès ou pour gérer les cas où le flux ne démarre pas. Cette variable renvoie une valeur booléenne (vrai ou faux). C'est true
si le flux se termine avec succès et false
si le flux ne démarre pas. Pour plus de détails sur le conditionnement basé sur le statut HTTP, voir Conditionnement sur le statut HTTP pour vérifier comment conditionner.
Si le flux échoue après son démarrage en raison de problèmes de réseau ou s'il atteint le délai d'expiration maximum de 30 secondes, une erreur sera générée pour l'utilisateur.