Développer des actions de robot personnalisées dans Botpress

Developper Des Actions De Robot Personnalisees Dans Botpress



Les chatbots sont devenus un élément fondamental des entreprises modernes, ce qui leur permet de fournir un meilleur support client, d'automatiser les processus et d'interagir plus efficacement avec les utilisateurs. Botpress est un framework de chatbot open source populaire qui propose diverses actions intégrées. Cependant, dans certains cas, vous devrez peut-être créer des actions de bot personnalisées pour répondre à des exigences spécifiques et étendre les capacités du bot. Dans ce didacticiel, nous vous guiderons dans la création d'actions de bot personnalisées dans Botpress en nous concentrant sur l'appel d'une API et en utilisant la réponse dans un élément de contenu.

Comprendre les actions dans Botpress

Les actions dans Botpress sont des fonctions côté serveur qui sont exécutées par le bot pendant les flux conversationnels. Ils ont le pouvoir de modifier l’état de la conversation, d’envoyer des messages personnalisés, d’exécuter du code arbitraire (comme appeler des API ou stocker des données), et bien plus encore. Essentiellement, les actions sont des fonctions JavaScript classiques, ce qui signifie qu'elles peuvent effectuer presque tout dans les limites de la plateforme.

Lorsqu'une action est invoquée par Dialogue Manager (DM), elle reçoit plusieurs arguments qui fournissent un contexte à la fonction. Ces arguments incluent les attributs utilisateur, les variables de session, les variables temporaires, les variables au niveau du robot, le dernier événement utilisateur de la conversation, les arguments transmis par Visual Flow Builder et une machine virtuelle en bac à sable contenant certaines variables d'environnement.







Enregistrement de nouvelles actions

Pour ajouter les actions de bot personnalisées, vous devez créer un fichier JavaScript (.js) et le placer dans le données/global/actions dossier dans votre projet Botpress. Malheureusement, il n'existe aucun moyen d'ajouter de nouvelles actions par programme pendant l'exécution. En utilisant les commentaires JavaDoc dans votre code, vous pouvez fournir des informations significatives sur les actions telles que leur nom, leur description, leurs arguments et leurs valeurs par défaut. Vous pouvez également masquer une action dans l'éditeur de flux en ajoutant l'indicateur @hidden true dans le commentaire JavaDoc.



Comment créer des actions personnalisées dans Botpress

Voici quelques étapes que vous pouvez suivre pour créer une action personnalisée dans Botpress :



Étape 1 : Créez votre bot et ajoutez un nœud

Pour commencer, créez un nouveau bot dans Botpress. Une fois votre bot créé, ajoutez un nouveau nœud au flux de conversation.





Étape 2 : ajoutez des messages appropriés à votre nœud

Dans le nœud nouvellement créé, ajoutez les messages nécessaires pour faciliter l'échange de contenu avec les utilisateurs. Par exemple, vous pouvez ajouter un message texte pour saluer l'utilisateur et lui demander son nom.



Étape 3 : ouvrez le code d’exécution à partir de la barre latérale

Accédez à la barre latérale de Botpress Flow Builder et ouvrez « l’éditeur de code ». C'est ici que vous pouvez créer et administrer vos actions personnalisées.

  C:\Utilisateurs\user01\Desktop\4124.PNG

Étape 4 : Cliquez sur le bouton « Ajouter une action »

Dans la section « Exécuter le code », cliquez sur le bouton « Ajouter une action ». Cette action ouvre la fenêtre « Créer une nouvelle action_legacy ».

  C:\Users\user01\Desktop\tempsnip.png

Étape 5 : Spécifiez un nom pour le fichier et cliquez sur le bouton Soumettre

Dans la fenêtre « Créer un nouveau action_legacy », donnez un nom significatif à votre fichier d'action personnalisé ; par exemple, customAction.js. Une fois que vous avez spécifié le nom, cliquez sur le bouton « Soumettre ». Cela crée le fichier « customAction.js ».

Étape 6 : Écrivez votre code personnalisé

Ouvrez le fichier « customAction.js » nouvellement créé. À l’intérieur du fichier, vous verrez le code passe-partout généré pour une nouvelle action. Fournissez une description significative de votre action personnalisée à l'aide des commentaires appropriés.

Maintenant, écrivez votre code personnalisé dans la fonction. Ce code définit le comportement de votre action personnalisée. Vous pouvez utiliser JavaScript pour effectuer diverses tâches telles que passer des appels d'API, accéder aux bases de données ou gérer une logique complexe.

Étape 7 : modifiez votre nœud pour utiliser l'action personnalisée

Revenez à Botpress Flow Builder et modifiez le nœud sur lequel vous souhaitez déclencher votre action personnalisée. Ajoutez une carte « Exécuter le code » au nœud.

Étape 8 : Sélectionnez le nom de votre action personnalisée et spécifiez les paramètres de l'action

Dans la carte « Exécuter le code », vous verrez une liste déroulante contenant les noms de toutes vos actions personnalisées. Sélectionnez le nom de votre action personnalisée dans la liste. Si votre action personnalisée nécessite des paramètres, vous pouvez les spécifier dans la section « Paramètres » de la carte « Exécuter le code ».

  C:\Users\user01\Desktop\tempsnip121.png

Étape 9 : Demandez à votre robot d'effectuer l'action

Enfin, ajoutez une autre carte au nœud pour que votre bot effectue l'action personnalisée. Vous pouvez utiliser les variables enregistrées dans l'événement (spécifiées dans la carte « Exécuter le code ») pour accéder aux résultats de votre action personnalisée et les inclure dans la réponse du bot.

Exemple d'action personnalisée

Supposons que vous souhaitiez que votre chatbot fournisse les informations météorologiques actuelles pour un emplacement spécifié. Vous pouvez créer une action personnalisée qui appelle une API météo et renvoie les données météorologiques.

const axios = exiger ( 'axios' );

const getWeather = asynchrone ( utilisateur , session, arguments) => {

const emplacement = args.emplacement || 'New York' ;

const apiKey = 'votre_weather_api_key' ;

const apiUrl = `https://api.weatherapi.com/v1/current.json?key=${apiKey}&q=${emplacement}` ;

essayer {

const réponse = attendre axios.get(apiUrl);

const WeatherData = réponse.data;

return `La météo actuelle à ${location} est ${weatherData.current.condition.text} avec une température de ${weatherData.current.temp_c}°C.`;

} attraper (erreur) {

retour 'Désolé, je pourrais \' Je ne récupère pas les informations météorologiques pour le moment. Veuillez réessayer plus tard.' ;

}

} ;

retourner getWeather( utilisateur , session, arguments);

Cette action prend certains arguments, notamment l'utilisateur, la session et les arguments, qui fournissent le contexte et les données avec lesquels l'action doit fonctionner. Dans cet exemple, l'action personnalisée « getWeather » prend l'emplacement comme argument ou prend par défaut la valeur « New York » s'il n'est pas fourni. L'action appelle l'API Météo à l'aide d'Axios, récupère les données météorologiques et renvoie un message contenant les conditions météorologiques et la température.

Avantages des actions personnalisées

Les actions personnalisées dans Botpress offrent plusieurs avantages qui améliorent les capacités et les fonctionnalités de votre chatbot :

  1. Ils étendent la fonctionnalité du chatbot au-delà des capacités intégrées.
  2. Ils créent des interactions sur mesure pour une meilleure expérience utilisateur.
  3. Ils récupèrent des données en temps réel à partir des API pour des réponses dynamiques.
  4. Ils s'intègrent aux systèmes backend et aux bases de données.
  5. Ils gèrent des scénarios complexes avec du code personnalisé.
  6. Ils réutilisent les actions à travers les chatbots et les flux.
  7. Ils implémentent la gestion et la journalisation personnalisées des erreurs.
  8. Ils optimisent les tâches gourmandes en ressources.
  9. Ils exploitent les services externes pour la mise à l’échelle.
  10. Ils accèdent et partagent les actions personnalisées prédéfinies.

Conclusion

Les actions personnalisées dans Botpress étendent les capacités du chatbot, personnalisent les interactions et intègrent des API externes. Les développeurs créent les fonctions JavaScript côté serveur et les invoquent à partir de Botpress Flow Builder. Ces actions offrent la réutilisabilité du code, des performances améliorées et une évolutivité qui font des chatbots des outils plus polyvalents et plus puissants. Tirer parti des actions personnalisées dans Botpress crée des expériences de chatbot innovantes et engageantes.