aOS Aix-en-Provence
21 Juin 201821 Juin 2018
aOS Aix-en-Provence n°3
aOS Aix-en-Provence
21 Juin 2018
Merci à nos sponsors
aOS Aix-en-Provence
21 Juin 2018
Réaliser un Bot multicanal avec le Bot Framework
Félix Billon
@felix_billon
aOS Aix-en-Provence
21 Juin 2018
Félix Billon
Développeur Web Organisateur Organisateur
@felix_billon
felixbillon
shakedatcode.com
Membre
aOS Aix-en-Provence
21 Juin 2018
Bot design et bad bot
Félix Billon
@felix_billon
aOS Aix-en-Provence
21 Juin 2018
Bot design
• Phase de conception avant le développement.
• Réfléchir sur :
• Les tâches/scope
• L’identité/personnalité
• L’ux conversationnel
6
aOS Aix-en-Provence
21 Juin 2018
Bad bot
• Duplication de fonctionnalité.
• Vouloir en faire trop.
• Pas de fallback humain.
• Manque de transparence
• Conversation vs information
• Mauvaise UI
• Mauvaise compréhension du contexte
• …
7
aOS Aix-en-Provence
6 septembre 2016
Microsoft Bot
Félix Billon
@felix_billon
aOS Aix-en-Provence
21 Juin 2018
Microsoft Bot : pourquoi lui ?
• Suite d’outils facilitant la création, le déploiement, le monitoring de bots.
• Multi canal :
9
aOS Aix-en-Provence
21 Juin 2018
MS Bot Framework : architecture
11
aOS Aix-en-Provence
21 Juin 2018
Développer son bot : ou commencer ?
• Azure Bot Service
• Bot builder SDK vs Bot Framework REST API.
12
aOS Aix-en-Provence
21 Juin 2018
Bot Builder SDK v3
Dialog :
• Bloc de conversation
• Chargé sous forme de stack (LIFO)
Message :
• Echangé au sein d’un Dialog.
• Plusieurs contenus possibles (texte, voix, Rich Card, …)
Action :
• Attachée à un Dialog
• Charge un Dialog dans la stack
• Contextuel ou Global
Reconizer :
• Utilisé par les Actions.
• Charge un dialog en fonction des intentions de l’utilisateur
• RegExp ou Luis ou Custom
aOS Aix-en-Provence
21 Juin 2018
Bot Builder SDK V4 (Work In Progress)
• 2 nouveaux langages supportés : Java et Python.
• Changement d’architecture -> layered approach :
• Conversation : gestion des conversations.
• Middleware : hook lors de la réception et envoie de message.
• Memory : persistance de l’état du bot.
• …
14
aOS Aix-en-Provence
21 Juin 2018
Bot Builder SDK V4 : roadmap
• Mars 2018 : sécurisation de l’architecture
• Avril 2018 : migration v3->v4
• Mai 2018 : travail sur la qualité, public preview
15
aOS Aix-en-Provence
21 Juin 2018
Bot Builder Tools (1/2)
Chatdown :
• Permet d’écrire des scénarios pouvant ensuite être émulés dans le Bot Framework
Emulator (V4).
MSBot :
• Permet de créer et gérer un fichier .bot regroupant la déclaration des services liés au bot
(Azure bot service, Luis, …)
LUDown :
• Permet de créer un modèle pour LUIS ou QnAMaker à partir de fichiers .lu dans
lesquelles on liste les intentions et entités.
LUIS :
• Permet de manipuler une application LUIS à partir d’une CLI.
aOS Aix-en-Provence
21 Juin 2018
Bot Builder Tools (2/2)
QnAMaker :
• Permet de manipuler une application QnAMaker à partir d’une CLI.
Dispatch :
• Permet de combiner des applications QnAMaker et LUIS pour former une application
LUIS qui routera les requêtes sur les bon modèle.
LUISGen :
• Génère des classes C#/TypeScript à partir d’un export d’une application LUIS.
aOS Aix-en-Provence
21 Juin 2018
Liens
• Bot design :
• https://chatbotsmagazine.com/design-framework-for-chatbots-aa27060c4ea3
• https://speakerdeck.com/cmaneu/les-bonnes-pratiques-ux-and-devops-pour-des-bots-cognitive-services-paris
• Test :
• https://www.microsoft.com/developerblog/2017/01/20/unit-testing-for-bot-applications/
• https://channel9.msdn.com/Series/DevOps-for-the-Bot-Framework/Testing-the-Bot-Framework
• Azure Bot Service et Bot Framework :
• https://docs.microsoft.com/fr-fr/azure/bot-service/
• Bot builder :
• https://github.com/Microsoft/BotBuilder (v3)
• https://github.com/Microsoft/botbuilder-js (v4)
• https://github.com/Microsoft/botbuilder-dotnet (v4)
• https://github.com/Microsoft/botbuilder-java (v4)
• https://github.com/Microsoft/botbuilder-python (v4)
• https://github.com/microsoft/botbuilder-tools (tools)
• Luis :
• https://docs.microsoft.com/en-us/azure/cognitive-services/luis/
18
aOS Aix-en-Provence
21 Juin 2018
Conclusion
• Ne pas négliger le bot design !
• Beaucoup de bonnes choses à venir :
• V4 Bot builder SDK (PREVIEW)
• V4 Bot Framework Emulator (PREVIEW)
• Bot builder tools (PREVIEW)
• Project Conversation Learner (PREVIEW)
• V4 Personality Chat (PREVIEW)
• …