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.
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.