Streaming da un'estensione

Prima di iniziare

Se si desidera attivare lo streaming sulla webchat, procedere come segue:

  • Andate su Home > Preview > Customize web chat.
  • Fare clic sulla scheda Stili.
  • Impostare il pulsante Streaming su On.
  • Fare clic su Salva e uscire.

Come effettuare lo streaming da un'estensione

È possibile seguire i passaggi descritti in Chiama l'interno personalizzato. Se selezionato Operazione definisce text/event-stream come risposta content-type, la funzione consente la selezione del testo da trasmettere in streaming da SSE generato dall'operazione.

Streaming da un'estensione
Streaming da un'estensione

Se l'operazione genera eventi inviati dal server come nei seguenti esempi:

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

Specificare text come percorso JSON in watsonx Assistant per indicare dove il testo o il token viene estratto da ogni SSE. Nell'esempio precedente,results[0].generated_text è il percorso da cui viene estratto il testo, risultando in:to learn new.

Esecuzione del flusso

Quando viene richiamata l'estensione personalizzata, watsonx Assistant tenta una chiamata per trasmettere il testo dall'Operazione specificata. Il passaggio successivo viene eseguito solo dopo che lo streaming è stato completato correttamente o se si verifica un errore prima dell'avvio dello streaming. Se lo streaming viene completato correttamente, il testo trasmesso viene archiviato nel file .body proprietà della variabile risultato.

È possibile accedere alle proprietà dell'ultimo evento del flusso facendo riferimento alla proprietà .last_event. Ad esempio, utilizzare ${step_596_result_1.last_event.citations} per recuperare dati specifici.

Verifica del successo o del fallimento

Usa il Ran successfully variabile di risposta per verificare se il flusso viene completato correttamente o per gestire i casi in cui il flusso non viene avviato. Questa variabile restituisce un valore booleano (vero o falso). È true se lo streaming viene completato correttamente e false se lo streaming non si avvia. Per i dettagli sul condizionamento basato sullo stato HTTP, vedere Condizionamento sullo stato HTTP per verificare come condizionare.

Se lo streaming non riesce dopo l'avvio a causa di problemi di rete o raggiunge il timeout massimo di 30 secondi, verrà generato un errore per l'utente.