Le déploiement cible
Pour travailler sur un projet Rasa, il est possible d’utiliser Git, un outil de gestion de versions de code standard. Dans le dépôt Git de votre projet, il est conseillé d’y ajouter les données nécessaires pour que tous les entraînements aboutissent au même résultat. En effet, le modèle généré par Rasa contient énormément de dépendances et est potentiellement trop volumineux.
Il est donc impossible de le déployer d’une instance à l’autre lorsque vous travaillez sur un projet et que vous migrez d’un environnement de DEV vers un environnement de RECETTE par exemple. Il est alors fortement recommandé, pour ne pas dire obligatoire, d’entraîner le modèle sur chacune des machines sur lequel l’agent sera déployé.
L’inconvénient de cette approche : en cas de rollback, il faut restaurer les data et ré-entraîner le modèle avant de le déployer.
Pour vous simplifier le travail, la version Rasa Platform payante vous fournit un certain nombre d’outils pour notamment versionner les modèles, les Datas et propose un outil d’analyse des logs.
Selon le canal dans lequel le Chatbot est déployé, vous pouvez être confronté à des contraintes :
- Impossibilité de déployer un Chatbot en mode privé afin de le tester avant go live ;
- Impossibilité d’avoir une plateforme de messagerie de test car il n’en existe qu’une seule en production pour toute l’entreprise.
Dans ce cas, il est tout de même possible d’imaginer des modalités pour tester votre Chatbot et procéder à des montées de version sans interruption de service.
Ainsi, il est par exemple possible de créer et tester votre Chatbot Rasa sur Facebook, avant de le déployer en production sur le réseau social Workplace de votre entreprise. L’avantage de cette solution est que les interfaces sont quasi équivalentes. Une fois le bot dans un état jugé satisfaisant, les différentes branches sont mergées sur la branche principale, les modèles sont ré-entraînés, finalement le bot redéployé sur Workplace.
Conclusion
Dans cet article, nous avons présenté les différentes étapes pour développer un Chatbot fonctionnel.
Avec Rasa, il est possible de construire un Chatbot assez complexe, capable de comprendre des phrases avec plusieurs intentions et plusieurs entités. Peu importe l’ordre dans lesquels elles sont renseignées. Cette capacité n’est pas garantie ni toujours simple à faire avec d’autres solutions.
Cependant, il faut bien avoir en tête que le Chatbot est construit grâce à du Machine Learning et pour cela, il faut avoir les données de qualité pour l’aider à comprendre convenablement et à prendre les bonnes décisions. Et dans un sens, il peut avoir un comportement non déterministe, ainsi comprendre des choses qui vous paraîtront inattendues, mais qui dépendront totalement de la façon dont vous l’aurez entraîné.
Maintenant, vous disposez de tous les éléments pour faire un Chatbot efficace avec Rasa.
A vous de jouer !