Stacks et flux d’appel
Les assistants IA dans VoiceBooker se composent généralement de plusieurs stages. Les stages peuvent être actives, ce qui signifie que les prompts, actions/outils et fonctions font partie de la requête LLM, afin que le LLM puisse appeler vos fonctions en fonction de leur objectif et exécuter des actions/fonctions.
La stack est un simple tableau/liste de chaînes qui contient les noms de toutes les stages actuellement actives. Les prompts, outils et fonctions sont ajoutés à la requête LLM dans l’ordre des stages dans la stack. Cela signifie que la stage listée en dernier est la plus récente — son prompt est ajouté en dernier et définit principalement le comportement de la conversation/du LLM.
Modifications de la stack - transitions de stage
Pour définir un flux d’appel, chaque fonction peut éventuellement recevoir l’état de la stack dans le paramètre params.
Ce paramètre est un tableau de chaînes et peut être modifié en ajoutant ou en supprimant des entrées et en renvoyant la stack modifiée.
Cela permet aux développeurs de construire des flux complexes pour les agents/bots vocaux.
Par exemple, un client existant qui souhaite résilier un contrat se verra poser un ensemble de questions différent d’un client qui veut réserver un produit.
Transitions de stage no‑code
Les transitions de stage se produisent lors d’une action, c’est‑à‑dire d’un appel de fonction.
Une transition de stage peut donc être configurée directement dans la section actions/outils d’une définition/configuration de fonction :
Tout d’abord, vous définissez la prochaine stage à ajouter à la stack, c’est‑à‑dire la prochaine stage active.
Ensuite, vous pouvez spécifier Drop current stage pour supprimer la stage actuelle de la stack. Cela signifie que ses actions/outils/fonctions ne sont plus disponibles.
Transitions de stage par code
Pour effectuer des transitions de stage par programmation, vous devez d’abord activer le flag stack pour la fonction afin que la stack soit transmise à l’appel de fonction via params.
L’exemple suivant montre comment ajouter la stage "Next Stage" à la stack et la renvoyer en quittant la fonction :
function someFunction(params) {
params["stack"].push("Next Stage");
return { stack: params["stack"] };
}Important : si la stack n’est pas renvoyée via return, les modifications de la stack ne prendront pas effet.