Stack e flussi di chiamata
Gli assistenti IA in VoiceBooker di solito consistono in più stages. Le stages possono essere attive, cioè i prompt, azioni/strumenti e funzioni fanno parte della richiesta al LLM, così il LLM può chiamare le tue funzioni in base al loro scopo ed eseguire azioni/funzioni.
La stack è una semplice lista/array di stringhe che contiene i nomi di tutte le stages attualmente attive. Prompt, strumenti e funzioni vengono aggiunti alla richiesta del LLM nell’ordine delle stages nella stack. Ciò significa che la stage elencata per ultima è la più recente — il suo prompt viene aggiunto per ultimo e definisce principalmente il comportamento della conversazione/LLM.
Modifiche alla stack - transizioni di stage
Per definire un flusso di chiamata, ogni funzione può facoltativamente ricevere lo stato della stack come parte del parametro params.
Questo parametro è un array di stringhe e può essere modificato aggiungendo o rimuovendo voci e restituendo la stack modificata.
Questo consente agli sviluppatori di creare flussi complessi per agenti/bot vocali.
Ad esempio, un cliente esistente che vuole annullare un contratto riceverà un set di domande diverso rispetto a un cliente che vuole prenotare un prodotto.
Transizioni di stage no‑code
Le transizioni di stage avvengono durante un’azione, cioè una chiamata di funzione.
Una transizione di stage può quindi essere configurata direttamente nella sezione azioni/strumenti della definizione/configurazione di una funzione:
Per prima cosa, definisci la prossima stage da aggiungere alla stack, cioè la prossima stage attiva.
Secondo, puoi specificare Drop current stage per rimuovere la stage corrente dalla stack. Ciò significa che le sue azioni/strumenti/funzioni non saranno più disponibili.
Transizioni di stage via codice
Per eseguire transizioni di stage in modo programmatico, devi prima abilitare il flag stack per la funzione affinché la stack venga passata alla chiamata di funzione tramite params.
Il seguente esempio mostra come aggiungere la stage "Next Stage" alla stack e restituirla all’uscita dalla funzione:
function someFunction(params) {
params["stack"].push("Next Stage");
return { stack: params["stack"] };
}Importante: se la stack non viene restituita tramite return, le modifiche alla stack non avranno effetto.