Recast.AI par VISEO

Tribune d'Expert

SAP S/4HANA et Recast.AI, comment déclarer une panne depuis un simple bot?

Création d'un bot via la plateforme Recast.AI connectée à SAP S/4HANA. Une tribune d’Emmanuel Cerisier, Responsable Pôle Technique SAP VISEO

Suite au rachat de Recast.AI par SAP, Emmanuel Cerisier, Responsable Pôle Technique SAP VISEO, a eu envie de tester la plateforme en la connectant à SAP S/4HANA.

L’idée est de créer un simple bot pour signaler une panne. La solution EAM dans SAP S/4 HANA permet cette création via l’application Fiori ‘Report Malfunction’.

 

Recast

 

Après analyse du fonctionnement de l’application standard et du service ODATA sous-jacent, Emmanuel a décidé d’utiliser la fonctionnalité du service qui permet de récupérer la liste des équipements sur la base d’un mot clé et de créer son propre service ODATA pour la création finale de l’avis.

Développement du bot

Lors du développement d’un bot, le principe est de définir des intents qui vont permettre d’entretenir le dialogue avec l’utilisateur du bot. Un intent est un ensemble de phrase ayant la même signification mais construites de manières différentes.

 

Recast 2

 

Par défaut Recast.AI propose des intents pour gérer le ‘bavardage’ en réponse à des questions du type ‘Bonjour’, ‘Comment vas-tu ?’, etc.

Dans mon exemple, pour engager la conversation, il a défini un intent qui détecte une déclaration de panne avec des expressions comme ‘Mon PC est en panne’.

 

Recast 3

 

Pour chaque expression on définit une entité qui servira plus tard à déterminer l’équipement lors de la requête faite à "S/4HANA":

 

Recast 3

 

Construire la conversation

Une fois les différents intents créés pour entretenir la conversation, il est possible de construire cette conversation.

Pour le premier intent, Emmanuel souhaite que le BOT retourne la liste des équipements qui comportent le nom de l’appareil en panne.

Ce sont les skills dans l’onglet build de la plate-forme Recast.AI qui permettent ces comportements.

Il a donc créé un skill qui se déclenche lorsque l’intent ‘Mon ordinateur est en panne’ est détecté et qu’un nom d’équipement est défini:

 

Recast

 

Ce skill est paramétré pour pointer vers un webhook particulier.

 

Recast

Un webhook correspond à un appel de service, d’api, qui va permettre d’utiliser une application tierce pour répondre à la demande faite au bot. Dans ce cas, Emmanuel souhaite connaître tous les équipements définis dans SAP S/4HANA qui comportent le mot clé identifié dans l’intent.

Afin de pouvoir interpréter la requête envoyée au webhook et de pouvoir construire la requête ODATA, il a créé un serveur node.js. L’objectif étant d’héberger ce serveur sur un environnement Cloud Foundry sur SAP Cloud Platform ​pour obtenir un BOT opérationnel à tout moment.

Le serveur node.js

Pour répondre à son bot, Emmanuel a besoin de deux services, un pour lister les équipements et un pour créer l’avis de panne. Il a donc créé deux routes dans un serveur node.js avec le framework express.js.

Une première route prend en entrée la conversation qui déclare l’équipement en panne et une seconde crée la panne.

Recast.AI propose deux outils qui permettent de tester soit un intent en particulier soit le bot dans son intégralité.

 

Recast

 

En testant l’intent ‘Mon ordinateur est en panne’, on note que l’EQUIPMENTNAME ‘ordinateur’ a bien été identifié. La documentation de la plateforme décrit, quand à elle, le corps de la requête faite au webhook.

La route du serveur node.js correspondant au webhook de récupération des équipements extrait l’entité EQUIPMENTNAME et construit la requête au service ODATA : EAM_MALFUNCTION_MANAGE.

Sur la base de la réponse le serveur node contruit un carousel avec les équipements et demande à l’utilisateur de choisir le sien.

Le reste de l’échange comporte des intents pour confirmer la création de la panne via un second webhook qui retourne le numéro de l’avis créé dans S/4HANA.

 

 

Recast

 

Le déploiement sur Cloud Foundry

Suite à l’intégration de Cloud Foundry dans SAP Cloud Platform, il est maintenant possible de déployer des serveurs node.js dans la PaaS de SAP.

Recast.AI propose la possibilité de connecter son bot avec différentes plateformes de communication du marché:

 

Recast

Ayant un serveur node à disposition pour répondre au bot d'Emmanuel, il en a profité pour intégrer le bot directement dans le serveur via le script Webchat fourni.

Une fois le serveur node.js terminé et testé localement, le déploiement sur SAP Cloud Foundry est assez simple et ne nécessite qu’un compte SAP Cloud Platform et l’activation du Trial SAP Cloud Foundry.

 

Recast


Après déploiement, le serveur node.js est disponible et peut être testé via l’url fournie par SAP Cloud Platform.

 

Recast

SAP et les BOT

Emmanuel, novice dans la création de bot mais les plateformes telles que Recast.AI, Dialogflow chez Google ou VISEO BOT Maker ouvrent de nouvelles perspectives. Ces plateformes de bot combinées à SAP Cloud Platform et Cloud foundry, rendent possible la présentation rapide de solutions innovantes à nos clients.

Reste maintenant à suivre l’intégration de Recast.AI dans l’écosystème SAP et en particulier suivre l’évolution de SAP Copilot, l’assistant numérique de SAP suite à ce rachat.

 

Recast