Piloter votre Bot (Wit.ai) en langage Groovy
odelia-groovy-wit est une librairie Groovy dont je suis l'auteur et qui permet de s'interfacer avec l'API du moteur de Bots de Wit.ai.
Le but est de pouvoir développer des applications conversationnelles en s'appuyant sur le moteur de Wit.ai : celui-ci analyse les phrases qu'on lui soumet et indique quelle devrait être la prochaine action à exécuter, et c'est donc votre application qui pilote l'avancement de la conversation avec votre bot.
Pour vous donner un exemple d'utilisation de la librairie odelia-groovy-wit, voici le code de la classe Weather
qui interagit avec un bot créé en suivant l'exemple d'application Quick start donnée sur le site web de Wit.ai.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
|
La classe Weather
permet de démarrer une session interactive avec votre bot grâce à la classe Wit
instanciée avec un jeton qui identifie votre bot, préalablement défini sur le compte qui devez avoir ouvert chez Wit.ai.
Après le lancement de l'application, vous pourrez interroger votre bot en langage naturel pour demander le temps qu'il fait dans une ville ; par exemple :
What's the weather in Antibes?
Sans entrer dans les détails, voici le rôle des actions définies dans la variable actions
:
say
permet d'afficher ce que le bot répond ;merge
, de tenir compte des informations collectées par le bot (icicontext.loc
contiendra le nom de la ville) ;fetch-weather
: il s'agit d'une action personnalisée, qui permettra de récupérer le temps qu'il fait dans la ville dont le nom est passé en paramètre.
Déterminer le temps qu'il fait dans une ville est confié à la Closure Groovy getWeather
qui se contente (dans notre exemple) de simplement renvoyer Sunny.
Pour que ce soit plus réalise, cette information peut être demandée à l'API d'OpenWeatherMap, grâce au builder Groovy HTTPBuilder par ailleurs utilisé dans le projet odelia-groovy-wit :
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|