IBM Cloud Docs
Transmisión desde una extensión

Transmisión desde una extensión

Antes de empezar

Si quieres activar el streaming en webchat, sigue estos pasos:

  • Vaya a Página principal > Vista previa > Personalizar chat web.
  • Haga clic en la pestaña Estilos.
  • Pon el botón Streaming en On.
  • Pulse Guardar y salir.

Cómo transmitir desde una extensión

Puedes seguir los pasos que se describen en Llame a la extensión personalizada. Si el seleccionado Operación define text/event-stream como la respuesta content-type, la función permite la selección del texto que se transmitirá desde SSE generado por la operación.

Transmisión desde una extensión
Transmisión desde una extensión

Si su operación genera eventos enviados por el servidor como los siguientes ejemplos:

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"}]}

Especifique text como la ruta JSON en watsonx Assistant para indicar dónde se extrae el texto o token de cada SSE. En el ejemplo anterior,results[0].generated_text es la ruta de donde se extrae el texto, dando como resultado:to learn new.

Ejecutando la corriente

Cuando se llama a la extensión personalizada, watsonx Assistant intenta una llamada para transmitir texto desde la Operación especificada. El siguiente paso se ejecuta solo después de que la transmisión se completa exitosamente o si ocurre un error antes de que comience la transmisión. Si la transmisión se completa exitosamente, el texto transmitido se almacena en el .body propiedad de la variable de resultado.

Puedes acceder a las propiedades del último evento del flujo haciendo referencia a la propiedad .last_event. Por ejemplo, utilice ${step_596_result_1.last_event.citations} para recuperar datos específicos.

Comprobar el éxito o el fracaso

Utilizar el Ran successfully variable de respuesta para comprobar si la transmisión se completa correctamente o para manejar los casos en los que la transmisión no se inicia. Esta variable devuelve un valor booleano (verdadero o falso). Es true si la transmisión se completa exitosamente y false si la transmisión no se inicia. Para obtener más información sobre el condicionamiento basado en el estado HTTP, consulte Condicionamiento basado en el estado HTTP para comprobar cómo condicionar.

Si la transmisión falla después de iniciarse debido a problemas de red o alcanza el tiempo de espera máximo de 30 segundos, se generará un error para el usuario.