L’objectif de l'‘Usine à chatbots’ est de détailler les étapes de réalisation d’un chatbot — de l’identification d’un cas d’usage, à la mise en place de l’interface du chatbot — afin de ne pas créer de ruptures dans l’expérience utilisateur, et de fournir les documents/code/template utiles pour la réalisation d’un chatbot.
Ce service est un guide pour la définition d’une problématique de diffusion d’informations se prêtant à une solution « chatbot ».
C’est également une aide pratique pour la constitution d’une base documentaire (template excel) où sont consignées les questions/réponses du chatbot, et pour la réalisation de l’interface qui permet de créer et maintenir le chatbot (back office pour mise à jour de la base documentaire).
Frontend sous Angular 15 couplé à Angular Material.
Backend sous NestJS 9, framework NodeJS.
Tests réalisés avec Cypress.
Repo Git | URL | Technologies | Description |
---|---|---|---|
Usine - Front | https://github.com/fabnumdef/fabrique-chatbot-front | Angular 15 | Front du site de l'Usine |
Usine - Back | https://github.com/fabnumdef/fabrique-chatbot-back | NestJS 9 | Back du site de l'Usine |
Chatbot - Front | https://github.com/fabnumdef/chatbot-front | Angular 15 | Front des Backoffices des chatbots |
Chatbot - Back | https://github.com/fabnumdef/chatbot-back | NestJS 9 | Back des Backoffices des chatbots |
Chatbot - Template | https://github.com/fabnumdef/chatbot-template | RASA 3.4.0 | Template RASA des chatbots |
- Cloner le repo et
cd
dedans cp env.example .env
- Editer le fichier
.env
npm install
npm run start
Le Back est couplé à une base de données (PostgreSQL dans notre cas), les données de connexion doivent être renseignée dans le fichier .env
.
- Cloner le repo et
cd
dedans cp env.example .env
- Editer le fichier
.env
npm install
npm run start:dev
Run npm run cypress:local
Les playbooks sont faits pour être utilisé avec des serveurs tournant sous Debian 10.
Copier le fichier .env de l'usine dans le dossier ansible/roles/usineConfiguration/files
. Exemple trouvable dans le dossier back/.env.example
.
Si la BDD requiert un certificat, le copier dans ansible/roles/usineConfiguration/files/postgres.cert
.
ansible-playbook playUsine.yml -i $IP_ADRESS, -e '{USER_PASSWORD: '$USER_PASSWORD', usineBranch: 'master', DOMAIN: '$URL_USINE'}';
ansible-playbook playChatbotprebook.yml -i $IP_ADRESS, -e '{USER_PASSWORD: '$USER_PASSWORD', ROOT_USER: '$ROOT_USER', ROOT_PASSWORD: '$ROOT_PASSWORD'}';
ansible-playbook playChatbotsecurity.yml -i $IP_ADRESS, -e '{USER_PASSWORD: '$USER_PASSWORD'}';
ansible-playbook playChatbotconfiguration.yml -i $IP_ADRESS, -e '{USER_PASSWORD: '$USER_PASSWORD', DB_PASSWORD: '$DB_PASSWORD'}';
ansible-playbook playChatbotupdaterepos.yml -i $IP_ADRESS, -e '{USER_PASSWORD: '$USER_PASSWORD', frontBranch: 'master', backBranch: 'master', botBranch: 'master'}';
Copier le fichier .env du chatbot dans le dossier ansible/roles/chatbotGeneration/files
. Exemple trouvable dans ce même dossier .env.example
.
Si la BDD requiert un certificat, le copier dans ansible/roles/chatbotGeneration/files/postgres.cert
.
ansible-playbook playChatbotgeneration.yml -i $IP_ADRESS, -e '{USER_PASSWORD: '$USER_PASSWORD', DB_PASSWORD: '$DB_PASSWORD', botDomain: '$BOT_DOMAIN'}';
ansible-playbook playChatbotinitdata.yml -e '{BOT_URL: "$BOT_URL"}';
Copier le fichier .env du chatbot dans le dossier ansible/roles/chatbotGeneration/files
. Exemple trouvable dans ce même dossier .env.example
.
Si la BDD requiert un certificat, le copier dans ansible/roles/chatbotGeneration/files/postgres.cert
.
ansible-playbook playChatbot.yml -i $IP_ADRESS, -e '{USER_PASSWORD: '$USER_PASSWORD', ROOT_USER: '$ROOT_USER', ROOT_PASSWORD: '$ROOT_PASSWORD', DB_PASSWORD: '$DB_PASSWORD', frontBranch: 'master', backBranch: 'master', botBranch: 'master', botDomain: '$BOT_DOMAIN'}';
ansible-playbook playChatbotinitdata.yml -e '{BOT_URL: "$BOT_URL"}';
- Site web - https://chatbot.fabnum.fr
- Auteurs - Beta.gouv