Back to basics

La plateforme Azure fournit une infinité de services dont Azure Cognitive Services qui intègre l’ensemble des fonctionnalités d’intelligence artificielle de Microsoft. Lorsqu’on veut créer un premier ChatBot, on arrive rapidement au Microsoft Bot Framework que vous allez devoir développer et héberger sur une WebApp Azure. Celui-ci vous permettra de générer les comportements standards du bot. Mais ce bot n’aura aucune capacité de compréhension du langage puisque c’est le rôle de LUIS (Language Understanding Intelligent Services), le moteur NLU de Cognitive Services. LUIS va donc prédire les intentions des utilisateurs et en extraire les entités. Mais pour pouvoir effectuer du Questions/Réponses, vous aurez souvent besoin d’un autre service, QnAMaker. QnAMaker fournit un outil de gestion de connaissance qui permet de prédire des réponses selon la question posée. L’interaction entre LUIS et QnAMaker ? Si vous avez plusieurs bases de connaissances, vous aurez besoin de trouver dans quelle base QnAMaker doit aller chercher votre réponse, et c’est bien LUIS qui va vous faire cela ! Faisons un pas de plus… si vous voulez générer des discussions et des dialogues, vous allez devoir rajouter à ce sandwich Power Virtual Agent (PVA). L’outil de création de dialogues de la PowerPlatform ajoutera à votre LUIS des capacités de dialogues. Ces dialogues ont généralement pour but d’automatiser, n’est-ce pas ? Et qu’offre PVA comme seule alternative pour automatiser ? Vous l’aurez deviné : PowerAutomate. Vous vous doutez bien que chacun de ces outils à son licencing propre ! En résumé, en sus des coûts de licence des fournisseurs de Chatbot sur Azure et/ou Office365, vous aurez souvent à assumer les coûts de  :

  • MS Bot Framework + WebApp
  • LUIS
  • QnAMaker.ai
  • PowerVirtualAgent
  • PowerAutomate
Standard Microsoft Bot Architecture

Standard Microsoft Bot Framework Architecture

Les règles encadrant les outils Azure

QnAMaker

Lorsqu’on démine les coûts QnaMAker, on s’aperçoit qu’il y a trois règles à connaître pour arriver au coût réel de QnaMaker :

  • Un coût par index (typiquement le nombre de bases). Cela est dû à des limitations d’indexation d’Azure Search Service (le moteur de recherche de QnAMaker pour faire simple).
  • Chaque fois que vous allez créer une instance de QnaMaker, vous allez devoir financer le coût d’installation (par instance QnaMaker).
  • Un ensemble de QnAMaker vont devoir tourner sur un AppService qui est une instance de serveur qui tourne avec la puissance définie dans l’apps Service Plan (qui engendre des coûts additionnels).
  • Il faut savoir qu’il y a également un coût à la requête (avec augmentation au nombre de publication).

Une limitation qui peut faire mal si l’on cherche à faire un bot intelligent qui se base sur plusieurs bases (et donc plusieurs index) et sur plusieurs langues. Lorsqu’on change du plan 15 indexes au plan 50 indexes et bien il faudra… tout migrer, manuellement. Prenez l’exemple d’un chatbot en 3 langues qui aurait 4 sujets de discussions, il y aurait déjà 12 indexes…

LUIS

LUIS est vraiment un super outil de NLU, très simple à utiliser et à intégrer. LUIS est pourtant limité à une seule langue. Votre bot doit être trilingue ? Et bien il vous faudra 3 LUIS, sachant que la facturation de LUIS se fait au pack de requêtes. Soyons honnête le coût aux 1000 requêtes est de l’ordre de quelques euros, mais si vous déployez votre bot pour 10.000 utilisateurs et que 10% utilisent votre bot mensuellement et posent 5 à 10 questions par semaine (on parle là d’un usage très très bas!), vous arriveriez rapidement à quelques milliers d’euros de consommation LUIS.

Bot Framework

En soit, le bot framework fait le job sans surcoûts importants. En revanche, si vous souhaitez gérer les états de conversation (le fait que le bot se souvienne de ce que vous venez de lui dire), il vous faudra y adjoindre des bases de données, du stockage et bien sûr de l’hébergement. On arrive rapidement à quelques centaines d’euros par mois selon les performances.

PowerVirtualAgent

PowerVirtualAgent est très simple de prise en main et pour l’instant les coûts ne sont pas publiés. En revanche, vous pourrez toujours vous faire une idée des futurs coûts en regardant les coûts du produit chez nos amis canadiens. Une des limitations de l’outil quand on va chercher à exécuter des actions d’automatisation, c’est que l’on va obligatoirement devoir exécuter du PowerAutomate, avec les coûts induits par l’usage de la plateforme.

Attention aux coûts cachés de vos chatbots!

Résumons…

Avant de parler du ROI de votre chatbot, vous devriez vous demander quel sera le coût induit par l’usage de votre chatbot. Je ne pourrai parler que de ce que je connais vraiment et donc n’aborder que les sujets des bots basés sur le Bot Framework de Microsoft, LUIS et QnAMaker. Lorsque l’équipe technique de Hubi.ai a conçu la 1ère architecture de la plateforme, nous avons bien entendu suivi les recommandations Microsoft, mais nous avons décidé au bout de quelques mois de nous retrousser les manches pour remplacer les briques non cost-effective (à commencer par QnAMaker) pour finir avec une solution totalement propriétaire (toujours hébergée sur Azure), jusqu’à l’éditeur Drag’N’Drop de discussion qui permet non seulement d’appeler du Power Automate, mais également d’appeler de l’office Graph, du workflow Nintex, et des centaines d’autres connecteurs.

L’architecture développé par les équipes Hubi.ai nous permettent de réduire les coûts induits, au point de les absorber dans les coûts de la souscription.

Alexandre a dirigé plusieurs équipes de développements, avant de rejoindre Nintex, leader mondial de l’automatisation du processus bien connu de l’écosystème Office365 en tant qu’évangéliste pour l’Europe de l’ouest. Il a ensuite créé Hub Collab, société spécialisée en automatisation de processus et plateforme Cloud Microsoft. Il a également fondé Hubi.ai, dont il est CEO.
Merci à Erwan Lejard et Victor Schirmann pour les spécificités techniques m’ayant permis de finaliser cet article!