Tout d'abord nous allons créer le service en se connectant à la page : https://qnamaker.ai/Create/Index
Une fois la page affichée, simplement entrer le nom du Service, puis dans notre cas en 2, on référence le document en ligne du Scrum Guide, mais nous pourrions avec les options 3 et 4 utiliser soit un fichier structuré de notre choix ou bien encore construire manuellement une base de connaissance
Une fois ce choix configuré, simplement cliquer sur Create en bas de page, puis l'extraction est disponible dans le module Knowledge base comme montré ci dessous. Après avoir revu et corrigé la structure de la base d'extraction, cliquer simplement sur le bouton Save & Retrain puis cliquer sur le bouton Test pour tester votre robot. Noter que vous pourrez améliorer les réponses en lui indiquant vous même le meilleur choix.
Une fois l'interface Test affichée, il nous suffit de tester notre robot comme montré ci dessous, par exemple demandons lui le role du product owner , on voit que la réponse est bonne et conforme au Scrum Guide, à noter la zone encadrée en rouge liste toutes les réponses possibles, on peut à ce niveau améliorer la réponse du robot en modifiant la bonne réponse. Sur la droite, on peut formuler plusieurs alternatives de questions pour améliorer le panel de questions possible.
Finalement, l'entrainement se fait en multipliant les sesions de chat avec le robot, et en enrichissant la KB. Pour des utilisations simple, le retour sur investissement d'un tel robot est absolument incroyable.
La dernière étape va consister à publier notre robot, pour cela cliquer simplement le bouton Publish
La page suivante s'affiche avec un exemple d'http request pour utiliser notre service robot
Nous verrons dans le prochain article comment créer un Bot consommant ce service
Il m'a semblé important d'écrire cet article dans un moment ou l'intelligence artificielle n'est plus que de la science fiction mais commence véritablement à exister dans notre société et apparaitre au coeur de toute transformation digitale digne de ce nom. Les reflexions éthiques autour de l'intelligence artificielle vont faire partie des sujets majeurs à aborder dans les années à venir, aussi dans ce premier article, nous mettrons le focus sur les conséquences inquiétantes de l'intelligence artificielle sur notre monde afin de pouvoir mieux anticiper le futur pour un monde meilleur.
Optimisation
Logistique, Détection de fraude, création d’œuvres artistiques, travaux de
traduction : les systèmes machines dits intelligents sont en train de
transformer nos vies pour le meilleur et peut être le pire. Au fur et mesure
que ces systèmes accroissent leurs capacités, notre monde devient plus efficace
toujours plus abondant.
Les géants
de la technologie typiquement représentés par le GAFAM (Google, Amazon,
Facebook, Apple et Microsoft) et bien d'autres mais aussi quelques personnes dont Stephen Hawking
et Elon Musk pensent que l’heure est venue de parler du domaine quasiment sans
limite de l’intelligence artificielle et de ses impacts sur notre monde. Nous
allons voir dans cet article quelles sont les difficultés et conversations qui
retiennent toute l’attention des Experts IA.
Le monde des travailleurs est concerné au premier rang par l’automatisation.
Alors que nous avons inventé des techniques d’automatisation de multiple types
de travaux, nous sommes censés créer de nouvelles perspectives pour que les travailleurs
concernés puissent occuper des rôles plus complexes, passant de travaux plutôt physiques qui ont
dominé largement le monde de l’industrie jusqu’à nos jours vers du travail plus
orienté intellect et création qui caractérise l’essentiel du travail stratégique dans
notre société globalisé à l’échelle mondiale.
Si l’on considère le
transport routier, il emploie actuellement des millions d’individus. Que se
passera t’il quand les camions autonomes promis par Tesla seront disponibles
dans un peu plus d’une décennie ? Maintenant, d’un autre coté si l’on
regarde la diminution du risque d’accidents, ces véhicules autonomes semblent
former un choix éthique sur plan de la vie. Le même scenario pourrait arriver aux
travailleurs de bureau, médecins, avocats, développeurs etc.
C’est à ce stade précisément que la question du “Comment va on passer son
temps ? » se pose. La plupart des gens reposent toujours sur un
système vendant leur temps afin d’avoir un salaire suffisant pour subvenir à ses besoins et ceux de sa famille. On pourrait juste imaginer que cette
transition soit une opportunité permettant à ces gens de trouver du sens à des
activités non reliées au travail, comme prendre soin de leur famille, s’engager
dans des communautés et apprendre/découvrir de nouvelle manières de contribuer
à la société humaine
Si nous réussissons dans cette voie, un jour, en se retournant et en pensant
qu’il était dur et injuste que les êtres humains soient obligés de vendre la plus
grande partie de leur temps juste pour être capable de "survivre" et assumer leurs besoins.
On sait qu’aujourd’hui la
faisabilité de l’automatisation de taches techniques est plus importante sur des
taches prédictibles qu’imprédictibles dans des proportions d’environs 78% pour
les premières contre 25% pour les deuxièmes.
Sur le moyen terme, les personnes travaillant sur des travaux plus imprédictibles seront moins impactés par l'automatisation.
2-Inégalité. Comment redistribue t’on la richesse créée par
les machines ?
Notre
système économique est basé sur la compensation pour contribuer à l’économie,
le plus souvent indexé sur le taux horaire de travail. La majorité des
entreprises dépendent du travail horaire quand il s’agit de produits et de
services. Mais en utilisant l’intelligence artificielle, une entreprise va
drastiquement se dissocier de sa dépendance vis à vis de la force de travail humaine, ce
qui signifie que les revenus seront redirigés vers une population réduite. En corollaire,
les personnes impliqués dans des sociétés pilotées par l’intelligence
artificielle, seront celles qui gagneront le plus d’argent.
On peut déjà voir des
différences de santé d’entreprises, avec par exemple, les fondateurs de Start
Ups qui récupèrent une large partie des revenus au travers des surplus créés. En 2014,
à titre d’exemple, les mêmes revenus ont été générés par les 3 plus grandes
compagnies de Detroit et les trois plus grandes compagnies de la Silicon Valley…. simplement, dans la Silicon Valley, il y avait 10 fois moins d’employés !
La question est donc :
comment structurer une économie juste et équitable dans le futur : Le GMI
(Garanteed Mininum Income) sera-t-il applicable ?
3-Humanité. Comment
les machines vont affecter notre comportement et interactions?
Les agent
conversationnels ou Chatbot s’améliore sans cesse à mieux modéliser une
conversation humaine. En 2015, un robot nommé Eugene Goostman won the Turing
Challenge a gagné au test de Turing pour la première
fois. Dans ce challenge, les examinateurs humains ont utilisé un système de messagerie textuel pour
converser avec une entité inconnue, puis essayer de deviner si la conversation
avait eu lieu avec un humain ou une machine. Eugene Goostman a trompé plus de
la moitié des examinateurs leur faisant croire qu’ils étaient en train de parler à un
être humain.
Ce jalon est simplement le
début d’une ère ou nous allons fréquemment interagir avec des machines comme s’il
s’agissait d’humains, que ce soit dans les domaines du service ou de la vente.
Tandis que les humains sont limités pour ce qui concerne l’attention et la
gentillesse qu’ils peuvent apporter à une autre personne, les chatbot peuvent canaliser
virtuellement des ressources illimitées dans la construction de relations.
Les robots d’intelligence
artificielle sont tellement puissant qu’ils peuvent déclencher des phénomènes d’addiction,
notamment dans le domaine du jeu, laissant présager de nombreuses opportunités
de travail dans le domaine de l’addictologie. Un article intéressant
démontre ce point : Tech addiction
is the new frontier of human dependency.
4-La Bétise artificielle. Comment se protéger des erreurs?
L’intelligence vient par l’apprentissage, que vous soyez humain ou machine.
Les systèmes passent tous au travers d’une phase de training au cours de
laquelle, ils apprennent et améliorent leur capacité à détecter les bons
patterns et agir de manière appropriée. Lorsqu’un système est complétement entrainé,
il va partir en test ou l’on va éprouver sa performance afin de valider ou non
sa mise en production.
De manière évidente, les
phases de training ne peuvent pas couvrir tous les cas possibles auxquels le
système sera confronté dans le monde réel. Ces systèmes peuvent être trompés dans
des cas ou les humains ne le seraient pas. Par exemple, dans le cas des
voitures autonomes, la programmation d’une éthique déontique ou conséquentialiste
défaillante, pourrait avoir des conséquences mortelles dans certains cas. Si l’on
prend l’exemple déontique, la voiture obéit strictement au code la route, dans ce cas pour éviter un piéton traversant un passage piéton, la voiture pourrait prendre la
décision de se crasher pour respecter le code de la route. Nous devrons donc
être vigilant si l’on souhaite pouvoir disposer d’un IA surpuissante au service
de l’humain. L'accident mortel provoqué par une voiture autonome Uber met au fait de l'actualité la relative fiabilité des véhicules autonomes tel que commenté dans cet article : https://www.msn.com/fr-fr/actualite/monde/un-véhicule-autonome-duber-impliqué-dans-un-accident-mortel/ar-BBKrj5K?ocid=spartandhp
5-Des robots racistes.
Comment éliminer les biais de l’IA?
Bien que l’intelligence artificielle est capable d’effectuer des taches à
une vitesse et niveau de complexité bien au-delà des capacités humaines, on ne
peut toujours pas lui adjuger toute notre confiance. Google et Alphabet sont
parmi les leaders dans l’IA aujourd’hui, on peut le voir au travers de Google
Photo Service, ou l’IA est utilisée pour identifier des personnes, objets ou
scènes (a tester absolument sur votre album photo!). Mais le système peut échouer, quand un système de reconnaissance visuel
pour la prédiction de futurs criminels montre un biais cognitif à l’encontre de
personnes noires par exemple. De la même manière, on se rappellera du robot Microsoft
rapidement retiré pour avoir tenu des propos racistes.
On ne doit pas oublier
que les systèmes IA à la base sont créés par des humains, qui eux-mêmes peuvent
être biaisés et juge et parti. Une fois de plus, bien utilisé, l’intelligence
artificielle peut devenir un catalyseur pour un changement positif.
6-Sécurité. Comment
proteger l’IA contre des utilisations dommageables?
Plus une technologie est puissante et évoluée, plus elle peut être candidate
à des utilisations néfastes. La bombe atomique au siècle dernier nous en a
donné de tristes exemples. Ceci s’applique non seulement aux robots fabriqués
pour remplacer les soldats humains, ou les armes autonomes, mais aussi au
système IA qui peuvent causer des dommages en cas d’utilisation « illicite ». Pour cette raison, la cybersécurité va
devenir de plus en plus importante, étant donné que ces combats n’auront pas forcément
lieu que sur le terrain. Après tout, on a à faire à un système qui est plus
rapide et capable que l’être humain dans des proportions hors norme.
7-Génie destructeur. Comment se protéger contre les conséquences
inattendues ?
Ce n’est pas seulement des utilisations dommageables dont nous devons avoir peur. Que se
passera t’il si l’intelligence artificielle se retournait contre nous ? Un
responsable de la section IA au MIT, donnait récemment un exemple d’IA se
retournant contre les humains avec l’exemple suivant : Les systèmes IA vont
se développer de plus en plus vite notamment au travers du Deep Learning, par
conséquent les IA vont se développer toutes seules, et à moment donné vont s’intéresser
à des problèmes clés du monde. Très vite l’environnement sera un sujet
identifié, l’IA déterminera alors que l’humain est l’entité la plus néfaste
pour l’environnement et pour résoudre ce problème pourrait prendre la décision
de détruire les humains pour régler le problème. Du point de vue machine, ce n’est
pas forcément de la malveillance, mais plutôt un manque de compréhension
du contexte global. Mais en détruisant l’humanité, l’IA aurait atteint son objectif
de protection de l’environnement, mais pas de la manière par laquelle les humains
l’aurait fait.
8-Singularité. Comment garde t’on le contrôle d’un système intelligent complexe?
La domination de l’être humaine sur la planète, n’est pas le fait de sa
force physique, mais plutôt de son intelligence et sa créativité. Ceci pose une
question sérieuse au sujet de l’intelligence artificielle : Va-t-elle un
jour nous dépasser ? On ne peut pas juste les débrancher, parce qu’une
machine suffisamment avancée pourrait anticiper ce mouvement et se défendre. C’est
ce que certain appelle la singularité : Le point dans le temp ou les être
humains ne seront plus les être les plus intelligents sur la planète.
Le service Custom vision fair partie du module Vision de l'offre Cognitive Services de Microsoft
Le module Vision contient les éléments suivants :
Le Service Custom Vision ou Service Vision personnalisée en français permet de télécharger des images de référence, de les classifier, puis d'entrainer un modèle pour l'utiliser afin d'évaluer et classifier automatiquement nos images.
On peut alors ajouter des images, corriger et réentrainer le modèle. Tous les fonctionnalités peuvent être lancées et invoquées à partie de l'API REST ce qui fait qu'il est facille d'incorporer toutes ces fonctionnalités à partir d'applications que l'on écrit en C#, Angular, Python etc.
Dans cet article nous allons voir comment créer un projet Custom Vision pour classifier des images, nous téléchargerons des images et entraineront et testeront le modèle. Pour cet exemple nous utiliserons des photos de plantes.
dans le prochain article nous verrons comment consommer le modèle à partir d'une application custom.
La première étape consiste à se connecter au service customvision à l'adresse : https://customvision.ai
Une fois connecté la page projets apparait :
Cliquer sur New Project puis renseigner le nom et la description, nous choisissons ici les options compact pour pouvoir exporter les classifiers vers des telephones mobiles IOS ou Android
Nous allons ajouter des images, pour démarrer 5 images de fraises que nous taggeront fraise et fruit. Il nous faut au minimum 5 images d'une catégories et 2 tags pour pouvoir entrainer le modèle
Une foirs les images téléchargés nous allons ajouter les tags puis valider
Puis nous allons entrainer le modèle en cliquant simplement sur le bouton Train
Une foir l'itération d'entrainement terminé on voit apparaitre le résultat de la reconnaissance, bien évidemment, plus on ajoutera d'images, plus le modèle sera efficace
On peut alors tester le modèle directement à partir du site, pour cela on peut récupérer l'URL du fruit à reconnaitre puis la soumettre à l'outil de test
On voir ici une reconnaissance à 100% dans ce cas
Enfin si l'on veut le tester à partir d'un téléphone par exemple, nous pourrons exporter le modèle qui pourra être utilisé offline à partir d'un Iphone par exemple, pour cela, cliquer sur le bouton export puis choisir le type de device cible
L'assistant fournit des exemples de code pour pouvoir utiliser le modèle à partir des caméras des téléphones.
Nous avons vu qu'il est très simple de créer et entrainer un modèle sur un thème particulier et de le déployer sur le système de son choix. Dans le prochain article, nous verrons comment utiliser ce modèle et l'API REST à partir d'un application Custom
Dans ce premier article, nous allons aborder le domaine et les applications du Computer Vision avec l'intelligence artificielle, dans le deuxième article nous nous interesserons plus particulièrement à la mise en oeuvre du Computer Vision au travers de la brique Microsoft Custom Vision qui constitue l'un des produits de la suite Microsoft Cognitive Services.
Le monde de l'intelligence artificielle connait aujourd'hui un essor spectaculaire tant sur le plan de l'évolution des technologies que des applications métiers. Le gros avantage de ce domaine est que le traitement d'images ne dépend pas des pays, langues etc. Ainsi, on ne retrouve pas les problèmes rencontrés dans le NLP (Natural Language Processing) par exemple pour ce qui concerne le traitement du language, ou force est de constater que dès que l'on sort de la langue de Shakespeare, les systèmes ont des niveaux de performances problématiques.
En revanche dans le domaine de l'image, ce problème n'existe pas et les applications mises en oeuvre rivalisent d'ingéniosité et de valeur ajoutée. nous allons donc commencer par faire un tour d'horizon rapide du potentiel de ce domaine fonctionnel et technologique de l'IA. Les secteurs ou l'on va retrouver des application interessantes sont
Le domaine médical
L'industrie
Le secteur de la distribution
Le secteur de l'agriculture
Les réseaux sociaux
Pour citer quelques exemple, dans le domaine médical, Microsoft, l'initiative InnerEye (démarrée en 2010) permet de travailler sur des outils de diagnostic par imagerie, l'équipe a d'ailleurs posté un grand nombre de vidéos expliquant leur développements, incluant cette vidéo sur le Machnine Learning à partir d'analyse d'image :
Le domaine du Deep Learning va très probablement jouer un role de plus en plus important dans les applications de diagnostic étant donné que le Deep Learning devient plus accessible et que l'on a des sources de données de plus en plus importantes en termes d'images médicales qui font désormais partie intégrante du Process de Diagnostic par IA.
Dans le domaine de la distribution, les nouvelles expériences d'achat proposée par Amazon Go entièrement basée sur du Computer Vision et du Machine Learning, permettent aux client une expérience nouvelle évitant le pénible passage à la caisse comme montré dans la vidéo ci dessous :
Dans le domaine de l'agriculture tout comme dans l'industrie des applications sont faites pour accèlérer le tri ou le controle optique permettant de détecter par exemple des défauts sur des légumes ou bien manufacturés à des cadences largement supérieures à celle d'un humain.
Dans le domaine de la sécurité, les système de controle au frontières sont en train également de migrer vers la reconnaissance faciale comme preuve d'identité ( évolution des systèmes Parafe existants).
Enfin dans le domaine des résaux sociaux, on pourra citer le projet Lens de Pinterest qui fonctionne comme Shazam mais avec des images, permetttant de reconnaitre à peu près tout ce qui existe et connecter à du contenu marketing ou de type blog, comme montré ci dessous.
A l'issue de
la première journée de la conférence, on a une sensation de disruption émergente, à tel point que l'on se
demande si l'on est pas en train de vivre une sorte d'avènement des robots
"The Raise of the Robots".
Mais
tout d'abord quelques chiffres sur cette conférence qui se tient au cœur de la
région la plus innovante au monde, la Silicon Valley dans la région de San
Francisco
c'est aussi
une opportunité de rencontrer les acteurs majeurs du secteur dont beaucoup ont
des bureaux en Californie
La
conférence aborde également le sujet de la collaboration Humain - Robot et donc
comment tirer partie de l'ensemble de l'écosystème à la fois software, hardware
et plate forme pour faire de l'IA un atout majeur dans la production de valeur
au travers notamment de gain de productivité encore jamais atteint.
On apprend
d'entrée que l'IA nous emène dans un changement de paradigme total, qui va
considérablement impacter notre métier et également le business sous jacent. Il
faut donc tout d'abord explorer ce nouveau domaine et voir comment les
entreprises peuvent en recueillir les bénéfices. Pour cela, une bonne approche
va consister à se former sur le sujet au travers de lecture telles que
Au passage, on ne bypasser la réference de Francois Chollet sur le Deep Learning, dont la première partie est gratuite chez Manning en ligne
Et
également par le biais de formation, de nombreuses possibilités existent avec
Plurasight, mais aussi Microsoft qui produit gratuitement des formations et
livres blancs sur la création d'agent conversationnels , le Machine/Deep
Learning, l'utilisation du NLP etc. On notera également un ecosystème de
ressources de training plus ou moins techno agnostique :
Plusieurs
facteurs seront donc à prendre en considération pour démarrer avec de l'IA en
entreprise
1 Le
Leadership : La première question est qui porte l'IA dans l'entreprise, Le role
de CDO (Chief Digital Officer) est il présent, qui gère les projets et la stratégie autour de l'intelligence artificielle?
2 La
sélection des projets, avec par exemple pour une compagnie financière,
l'utilisation du Machine Learning avec de l'analyse predictive et des
simulations vont être un véritable challenge de scoping pour passer d'un Lab à
la production
3 Pour finir, les compétences et les équipes qui seront en charge de ces
implémentations, à savoir ai-je les compétences necessaires en interne?
Les
entreprises devront se réorganiser quelque peu si elle veulent réaliser avec
succès et efficacité leur transformation digitale basée sur de l'intelligence
artificielle.
Pour ce qui
concerne le driver, 70% des personnes interrogées considèrent que l'IA a le
potentiel de faire que les humains pourront ce concentrer d'avantage sur du
travail à forte valeur ajoutée. C'est l'essence de la promesse du RPA et
également de tous les assistants conversationnels sensés nous faire gagner
beaucoup de temps sur des taches
répétitives pour lesquelles nous sommes peu efficaces.
Coté
Microsoft, David Smith (VP Microsoft AI & Research) argumente sur le fait
que l'IA va permettre d'amplifier l'ingeniosité de l'être humain, voire de l'augmenter ce qui est
tout à fait aligné avec la vision globale de Microsoft : "Permettre à
toute personne et toute organisation sur la planète d'accomplir
d'avantage"
David
présentera l'ensemble de la plate forme Cognitive Microsoft ainsi que des
démonstrations époustouflantes rendues possibles grace au capacité de Machine
Learning et Deep Learning de Microsoft, comme la démo ci dessous
Chez Daisy,
on est persuadé que l'IA va disrupter le monde de la grande distribution, avec
l'arrivée d'Amazon et Ali Baba, les grands acteurs français vont devoir réagir
rapidement au prix de se faire uberiser par ces nouveaux mutants. Daisy est un
produit permettant d'utiliser l'IA pour d'optimiser la prise de décision
concernant les promotions des magasins par exemple, basé sur du Machine/Deep Learning, est déjà utilisé chez Lidl,
Amazon, Wallmart etc.
Parmi
les exposants du salon, on va retrouver des solutions entreprises complètes
baties sur de l'IA avec DryIce par exemple de pnl. De telle solution nous font
réaliser que la majeure partie des entreprises n'en sont encore qu'à l'age de Pierre,
et on pourrait reprendre une illustration bien connue dans le monde de l'Agile,
le manque de réactivité pour pivoter rapidement vers plus de productivité et de
modernisation. Il faudra veiller à ne pas reproduire les erreurs du passé
En revanchepour le Machine / Deep
learning le problème critique est le challenge créé par la qualité
relative et la structure des données, La
réconciliation et l'harmonisation de données disparates à travers de multiples
LOB en silo pose de réels problèmes de consistence et pertinence.Nous avons
besoin de techniques de gestion effective de la données permettant de s'assurer
que la donnée utilisée est à la fois comprise par l'humain et par la machine
aux travers des algorithmes de MLpar exemple
La donnée
est clé. La solution à ce problème dans le domaine de la finance par exemple
résiderait dans l'utilisation d'ontologies au travers de la mise en place d'un
standard commun de données gratuit et open source. Les ontologies
permettent une harmonisation des données et l'alignememnt nécessaire pour une
consolidation de données disparates basées sur un sens commun.
Les
ontologies peuvent être utilisées pour transformer un contenu non structuré en
une forme structurée pour du Machine Learning par exemple.
Les recherches de l'université de Mannheim en
Allemagne démontrent de plus que les ontologies peuvent aider le Machine
learning à effectuer de la validation de données à minima 50 fois plus vite
qu'en mode standard.
En
conclusion, pas de Machine Learning / Deep Learning performant/relevant sans
ontologie
Le Machine /Deep Learning c'est également le retour des mathématiques et statistiques avancées, ce qui va profondément changer notre métier dans les années à venir, qui vont voir considérablement augmenter les profils type Data Scientistes qui seuls aujourd'hui savent comprendre les notions d'algorithme du gradient stochastique ou la rétropropagation du gradient
Aujourd'hui,
Les utilisateurs s'attendent à pouvoir communiquer avec leurs appareils, sites
web en langage naturel. Les systèmes modernes doivent être conversationnels,
humain et intelligent. Les récentes implémentations par google avec Google Home
et Amazon Echo… en sont les meilleurs exemples
Face à cet
enjeu, nous devons être capable de batir des agents conversationnels performant
et conforme aux attentes des utilisateurs dans des temps de mise sur le marché
courts à l'aide d'outils proposant des interfaces graphiques de conception,
avec par exemple le Conversation Designer de Microsoft avec également des capacités de déploiment
multi canaux.
L'éthique en matière d'IA constitue un sujet clé, on entend parler par exemple pour les voitures autonomes d'éthique déontique ou éthique conséquensialiste qui sont par exmple deux modèles de prise de décision relarivement opposé en termes de résultats, le premier basé sur le droit commun soit le code de la route pour une voiture, le deuxième sur l'évaluation des conséquenses d'une décision sur par exemple l'espérance de vie humaine. Face à une situation critique, le véhicule ne prendra pas la même décision en fonction de son code éthique. Ce sujet a été abordé dans de multiples sessions de la conférence, ci dessous un exemple.
En
conclusion de cet article : L'IA est là, les ressouces pour la développer
également au travers de plate formes SAAS, Hardware avec notamment les GPUs (NVidia en tête),
l'arrivée prochaine des calculateurs quantiques, des Frameworks de
développements pour l'essentiel proposés par Microsoft, Amazon et Google. Il
n'y a plus de raison de ne pas avancer sur ce sujet, que ce soit au travers de
projets de productivité internes (RH, Finance, Recrutement etc…) ou bien encore
d'applications métiers innovantes
Pour conclure ce premier article sur cette conférence voici le message délivré par Amazon:
Dans cet article, nous allons aborder toutes les étapes nécessaires à la mise en production d'un Chatbot
Enregistrer notre bot sur le portail Bot Framework
Déployer notre Chatbot sur une instance de site web dans Azure
Tester notre Chatbot
Emuler différents channels : Slack, Teams, Skype, Facebook Messenger etc.
Notre Chatbot est simplement une application web et de ce fait il est possible de l'héberger sur tout host permettant d'héberger une site web ASP.net (Azure, AWS etc.)
Pour enregistrer notre Bot, il suffit de se connecter au portail dev.botframework.com en s'authentifiant, puis cliquer sur l'onglet My Bots
Puis cliquer sur Register pour enregistrer notre Chatbot, nous complétons alors le nom du Chatbot, le Handle qui est à usage interne uniquement et ne doit pas contenir d'espaces et enfin une description du Chatbot
Pour la configuration, elle sera fournie par le portail, mais il faut tout de même en entrer une, nous pouvons mettre temporairement : https://blank-url.com puis cliquer sur le bouton Create Microsoft App ID
Nous sommes alors rediriger vers le portail de développement Microsoft avec la génération de l'ID
Cliquer sur le bouton générer Mot de passe, la fenêtre suivante s'affiche alors
Attention à bien copier l'App ID et le Password dans un endroit ou vous saurez le retrouver, nous en aurons besoin pour modifier la configuration du Chatbot ultérieurement. Il ne sera affiché qu'une seule fois tel qu'indiqué dans la fenêtre popup
Enfin, on renseigne l'adresse email Admin (notre compte LiveID) puis simplement cliquer le bouton Register
Nous devons maintenant configurer et déployer notre Chatbot, pour cela revenons dans Visual Studio, ouvrir le fichier Web config et complèter les variables App ID et Password avec les valeurs générées lors de l'enregistrement du Chatbot
Puis nous allons déployer le Chatbot sur une instance Web Azure, pour cela simplement lancer la commande Publish à partir du projet Chatbot et choisir la création d'une nouvelle Microsoft Azure App Service
Visual Studio, nous propose la fenêtre de création en renseignant à partir de nos données de profil, simplement cliquer sur le bouton Create
Une fois généré, nous récupérons l'URL du Chatbot afin de la remplacer dans la page de définition de notre bot et donc remplacer l'URL https://blank-url.com par celle générée.
Nous revenons dans le portail bot Framework et remplacons l'adresse sans oublier de la suffixer par : /api/messages et préfixer par https, puis cliquer sur Save Changes en bas de page
Dernière étape, tester le Chatbot, pour cela, simplement cliquer sur le bouton Test, une fenêtre de dialogue s'ouvre, le Chatbot devrait répondre tel qu'attendu :
Pour terminer, nous savons qu'il n'est absolument pas une bonne idée de laisser des mots de passe ou identifiants dans le controle de code source, pour cela nous allons retirer l'App ID et le password du web.config pour le reporter dans la section App Settings de notre App service, en créeant simplement les 2 Clé valeurs comme montré ci dessous
Ne pas oublier de sauvegarder
Nous allons par exemple pouvoir l'intégrer dans Skype par exemple, à partir de la page de votre Bot, cliquer sur Skype
Puis cliquer sur Add to Contacts et lancer Skype
Ci dessous, la conversation avec le Bot intégrée dans Skype
Pour tous les autres logiciels conversationnels, il suffit de cliquer sur celui que l'on veut intégrer et simplement suivre la procédure