[Actualité] QnA Maker : la version stable de la plateforme apporte de nombreux changements
par
, 22/05/2018 à 02h02 (2605 Affichages)
Tant qu’un produit n’est pas disponible en version stable, il faut s’attendre à tout, y compris des revirements architecturaux importants. Il y a de cela quelques semaines, j’ai publié un billet de blog sur comment créer un bot intelligent en utilisant Bot Framework et QnA Maker.
Lorsque j’écrivais ce billet de blog, QnA Maker était disponible en préversion. La même semaine que j’ai publié le billet, le service est passé en version stable. L’annonce avait été faite à l’occasion de la conférence Build. Cette semaine, j’avais un agenda très surchargé. Ce qui ne me permettait pas de suivre la conférence Build comme je le souhaitais. J’ai dû donc répertorier les annonces qui avaient de l’intérêt pour moi afin d’être en mesure de revenir dessus dès que j’aurais un peu de disponibilité.
Aujourd’hui, j’ai eu un petit creux dans mon emploi du temps. J’ai donc décidé de jeter un coup d’œil sur la disponibilité publique de QnA Maker. Grande a été ma surprise de voir combien la plateforme avait changé et était en rupture avec la préversion qui avait été testée par des milliers de développeurs. Je vais couvrir quelques aspects de ces changements dans ce billet de blog.
Introduction à QnA Maker
Pour rappel, QnA Maker est une API REST et un service web permettant de créer et entrainer une intelligence artificielle qui sera en mesure de répondre aux questions d’un utilisateur à travers une conversation en langage naturel.
QnA Maker offre une interface graphique permettant de créer son service, le peupler avec des questions/réponses, l’entrainer en exploitant les services de machine learning de Microsoft et le publier afin de l’utiliser via un bot. Aucune connaissance en programmation n’est nécessaire pour créer un service.
Nouvelle architecture de QnA Maker
Avec la Preview de QnA Maker, pour créer un service, l’utilisateur avait uniquement besoin d’un compte Microsoft. Une fois rendu sur le site qnamaker.ai, il pouvait créer son service, importer sa FAQ via un lien URL d’une FAQ existante, un fichier, etc. entrainer son service et le publier. Toute la boite noire (infrastructure d’exécution du service, services utilisés pour l’indexation, etc.) sur laquelle repose le service était inconnue de l’utilisateur.
QnA Maker en phase de test était donc offert comme un service SaaS (Software as a Services). L’utilisateur avait juste besoin d’utiliser l’interface offerte par la plateforme pour gérer son service. La facturation à ce moment était basée sur l’utilisation (nombre d’appels au service par les consommateurs). Donc pour un service ayant peu d’utilisateurs, QnA Maker était littéralement gratuit.
La nouvelle architecture adoptée par Microsoft pour la version stable oblige désormais l’utilisateur à disposer d’une suscription Azure. Tous les services nécessaires au fonctionnement de QnA Maker sont désormais déployés dans le compte Azure de l’utilisateur.
Dorénavant, avant de créer votre service (la base de connaissance) QnA Maker sur qnamaker.ai, vous devez dans un premier temps créer sur Azure l’infrastructure nécessaire à son fonctionnement. Pour cela, Azure dispose d’un nouveau template QnA Maker, qui va permettre de créer et déployer les services suivants :
1 - Un service cognitif QnA Maker
Ce dernier embarque tous les services et algorithmes de machine Learning et de programmation neurolinguistique nécessaires au fonctionnement du service. Ce service est facturé en fonction du nombre de documents que vous disposez (nombre de FAQ). Il est gratuit pour trois documents ou moins. Au-delà, il vous coutera un tarif fixe de 10$ US par mois. Et vous avez droit à trois appels par seconde.
2 - Un Azure App Service
L’Azure App Service sera utilisé pour hoster le runtime nécessaire à l’exécution de votre service. La tarification d’un App Service sera donc appliquée en plus.
3 - Azure Search
Un service Azure Search sera également créé. Il sera utilisé pour le stockage et l’indexation de données (vos questions/réponses).
Optionnellement, il vous est demandé d’ajouter un Application Insights. Bien que le choix vous est laissé, si vous ne créez pas un service App Insights, vous ne pourrez pas accéder aux logs des chats qui sont d’une grande utilité pour l’entrainement de votre service.
Personnellement, je pense que cette approche sera plus lucrative pour Microsoft que la précédente.
Une fois votre service QnA créé, vous pouvez utiliser l’interface qnamaker.ai pour créer, entrainer et publier autant de FAQ que vous le souhaitez dans votre service Azure QnA :
Migration
Je suis assez déçu par la procédure de migration d’un service de la préversion vers la version stable. Si vous avez créé un service en utilisant la Preview, lorsque vous accédez à qnamaker.ai, aucun de vos services ne sera visible. Ils sont accessibles via l’ancien portail à partir de qnamaker.ai/old.
Pour migrer votre service, vous devez exporter la base de connaissance (vos questions/réponses) au format tsv à partir de l’ancien portail. Vous devez ensuite créer un nouveau service sur le nouveau portail et importer vos questions/réponses. Dans le processus, vous perdez vos logs de chat et les données qui ont été générées lors de l’entrainement pour augmenter la précision de votre service. Les utilisateurs ont jusqu’en novembre 2018 pour migrer leurs services.
Bien que je sois heureux de voir QnA Maker sortir en version stable, j’ai été toutefois un peu refroidi par les changements qui ont été apportés par Microsoft.