TLDR; (Too Long Didn’t Read)
Le site du VISEO Bot Maker aka SARAH v5 est ici: http://bot.viseo.io
Aidez-nous sur Product Hunt !
Back to the Future
En 2012 sortait une première version d’un petit projet open-source de Maison Communicante qui s’appelait SARAH inspiré de la série TVEureka.
Le principe était très simple:
- Un logiciel C# permettant de faire de la reconnaissance et synthèse vocale sur Microsoft Speech Recognition
- Un serveur NodeJS permettant d’enchaîner à la manière de IFTTT des plugins permettant d’interragir avec différentes APIs REST ou Objets Connectées
Depuis le projet a fait du chemin, la communauté SARAH rassemble plus de 5000 personnes sur GooglePlus (encore en vie) qui ont développé 300 plugins !
SARAH v5
L’année 2016 a (enfin) marqué l’émergence des assistants conversationnels grâce à l’apparition de device comme Google Home ou Amazon Echo combiné à une explosion de l’usage de service comme Facebook Messenger ou WeChat.
C’était donc l’occasion de développer une v5 de SARAH sur des technologies modernes tel que
- Node-RED d’IBM un outil permettant de modéliser des flow de données
- Microsoft Bot Framework un service normalisant l’interaction avec de nombreux canaux de chatbot
En effet, c’est une architecture qui tourne complètement sur NodeJS et doit être installée sur un serveur accessible depuis le web (Azure, Google, AWS, Heroku, Docker, …) afin de pouvoir recevoir les requêtes provenant de Microsoft Bot Framework, WeChat, Amazon ou API.ai qui joue le rôle de proxy pour Messenger, Slack, GoogleHome, Alexa, etc …
Comme les versions précédentes de SARAH, vous pouvez tout à fait installer le projet sur une machine du réseau local. Vous ne bénéficierez pas des connecteurs de chatbot mais j’ai préservé le code C# de SARAH dans 2 briques Node-RED: speak et listen.
A mon sens l’architecture idéal est d’avoir des SARAH installées sur le réseaux local, communiquant en WebSocket avec une SARAH dans le cloud.
VISEO Bot Maker
Développer un side project comme SARAH dans l’ombre de Cortana, Alexa ou Google Home touchant à des sujets de R&D tel que l’analyse du langage naturel, la reconnaissance vocale, l’internet des objets est très compliqué.
C’est ainsi que le Groupe VISEO a décidé d’investir dans le sujet des Assistants Conversationnels
- en poursuivant le développement open-source de SARAH
- en accompagnant ses clients grands comptes dans la réalisation de ChatBots
Nous pensons comme en 2012, qu’une architecture ouverte et open-source comme le propose d’un côté Microsoft (avec ses Adaptives Cards et le Bot Framework) et de l’autre Node-RED est parfaite pour assembler des briques de LEGO (WebServices, APIs Client, IoT, …) en constante évolutions permettant de créer une expérience utilisateur unique.
En discutant avec tous les membres de la communauté SARAH j’ai bien compris que l’enjeux n’est pas la technologies, mais l’effet waouuh de l’expérience utilisateur qui donnera envie d’utiliser le service, de parler avec l’assistant.
La présence d’une entreprise comme VISEO sur un projet open-source comme SARAH est formidable !
- Multilinguisme
- Architecture robuste, Docker
- Accès à des APIs privées
- Intégration avec des objets physiques
Du Win-Win ! Les projets clients accélèrent et améliorent le framework. Les passionnés en profitent et peuvent remonter des feedbacks.
Foire aux questions (AMA)
Je vais essayer de centraliser les questions que vont susciter cet article.
Migration v3 et v4
Il n’y aura pas de migration de SARAH v3 ou v4 vers la v5.
- car c’est une réécriture complète
- car la v3 et la v4 proposent des fonctionnalités différentes
Néanmoins, un plugin Node-RED est TRES proche d’un plugin SARAH. Une migration devrait être assez simple.
- Un fichier HTML pour l’édition
- Un fichier JS pour l’exécution
- En entrée un JSON en sortie un JSON
Marketplace
Il n’y aura plus de Marketplace SARAH pour la v5. Les plugins Node-RED doivent être déposés sur GitHub et déployés sur NPM. Ils seront ensuite très simple à installer depuis l’interface de Node-RED ou en ligne de commande.
C’est une très bonne chose !
- car c’est proprement hébergé sur GitHub
- car l’on rentre dans la norme NodeJS
- car l’on profite de tous les plugins Node-RED existants
Communauté
La communauté francophone SARAH ne bouge pas.
Si vous remontez des bugs sur le GitHub assurez-vous d’avoir bien qualifié le problème car nous sommes une petite équipe avec un focus sur les projets clients.
Node-RED permet aussi d’échanger des Snipets de code ! Ce sera bien plus simple de débugguer à plusieurs
GitHub
Les projets GitHub sont les suivants:
- Modules Node-RED: https://github.com/NGRP/node-red-contrib-viseo
- La projet utilisant les modules: https://github.com/NGRP/node-red-viseo-bot
- Un template de bot: https://github.com/NGRP/viseo-bot-template
- Le CLI listen: https://github.com/JpEncausse/SARAH-CLI-listen
- Le CLI speak: https://github.com/JpEncausse/SARAH-CLI-speak
Je vais essayer de packager des release windows ici:
https://github.com/NGRP/node-red-contrib-viseo/releases
Documentation
La documentation se trouve dans le wiki du projet et dans le README de chaque module. Suivez le Getting Started pour une installation sous Linux.
J’ai mis à jour une documentation spécifique à SARAH.
CLI (Command Line Interface)
Dans la v3 tout le code était en vrac. Dans la v4 j’ai tout modularisé.
Dans la v5 je me suis dis qu’il serait plus intelligent de faire des petits programmes windows faisant une tâche simple. Et qui dans l’avenir pourrait être remplacés par un code compatible Linux.
Next Step ?
Nous travaillons
- pour rajouter plus de briques Node-RED sur la platforme
- sur du KeyWord Spotting (HotWord) pour remplacer « Ok Google » par « WeshGros » ou « SARAH » ou « VISEO ». Aidez-nous en donnant votre voix
- sur des objets comme Pikit de Carrefour créé avec l’aide de VISEO
- sur plus de fonctionnalités mêlant domotique et SARAH
Comment Aider ?
- Parlez-en autour de vous !
- Faites des vidéos et prévenez-moi sur Twitter
- Faites un UpVote sur ProductHunt
- Donnez votre voix pour WeshGros
Laisser un commentaire