Tutoriels
Outils personnalisés
Contexte
Pour comprendre le fonctionnement des outils personnalisés, jetons un œil sous le capot de l'agent téléphonique Bland AI.
Pendant la conversation, l'agent téléphonique écoute en permanence afin de déterminer à quel moment il doit répondre. Dès qu'il détecte que c'est à son tour d'intervenir, il passe en revue les outils de sa boîte à outils et choisit le plus approprié.
Ces outils incluent les actions speak, wait et button press. Lorsque vous créez un outil personnalisé, vous l'ajoutez à la « boîte à outils » existante mise à la disposition de l'agent.
Quelques questions se posent naturellement :
Comment définir mon outil personnalisé ?
Comment m'assurer que mon outil est sélectionné au bon moment ?
Comment les informations de l'appel sont-elles transmises à la requête API de mon outil personnalisé ?
Comment combler les silences (pendant l'exécution de mon outil personnalisé) ?
Comment la réponse de mon outil personnalisé est-elle intégrée à l'appel ?
Poursuivez votre lecture pour le découvrir.
Créer votre outil personnalisé
Exemple d'outil personnalisé
De la requête API à l'outil personnalisé
L'étape suivante consiste à convertir la requête API en un outil personnalisé. Les outils personnalisés comportent les propriétés suivantes :
name: le nom visible par l'agent dans la liste des outilsdescription: une brève explication de la fonction de l'outilinput_schema: un schéma JSON décrivant les données d'entréespeech(facultatif) : une phrase qui sera prononcée par l'agent pendant que votre outil attend une réponseresponse_data: un tableau d'objets décrivant comment extraire les données de la réponse. Au sein des données de réponse, vous pouvez créer des variables auxquelles l'agent téléphonique pourra faire référence dans son prompt.
Nom et description
L'agent verra le nom dans la liste des outils. Le nom, combiné à la description, aide l'agent téléphonique IA à choisir l'outil approprié.
Pour cet exemple, nous définirons le nom sur BookAppointment et la description sur Books an appointment for the customer.
Schéma d'entrée (Input Schema)
Le schéma d'entrée est essentiel. Il définit la structure de la requête API, les différentes entrées possibles et inclut également un exemple (ce qui aide notre système lors de la génération des requêtes).
Voici à quoi pourrait ressembler le schéma d'entrée :
Deux remarques importantes concernant le schéma d'entrée :
input_schemaest converti en la variable"{{input}}"que vous pouvez utiliser dans le corps (body), les paramètres (query) ou les en-têtes (headers) de la requêtePour accéder à des propriétés imbriquées, utilisez la notation par points :
"{{input.property.subproperty}}"Par exemple, vous pourrez utiliser plus tard
"{{input.service}}"pour récupérer le type de rendez-vous souhaité par le client
Vous décrivez ici la structure des variables que l'agent va créer.
Remarque particulière : si vous devez recueillir des informations détaillées lettre par lettre auprès de l'utilisateur, augmentez la valeur du paramètre interruption_threshold à environ 200 afin d'éviter que l'IA n'interrompe l'interlocuteur trop rapidement.
Faites défiler vers le bas pour voir l'exemple complet.