VISEO Bot Maker et SARAH v5

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

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:

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 ?

  1. bonjour il et possible de fair tournais sarah 5 sur un serveur personnelle avec son propre cloud priver
    sent passer par des serveur et cloud payent

    J’aime

    1. SARAH a besoin de trigger pour déclencher des actions par ex:
      – Cela peut être des requêtes d’une box domotique
      – Ou des commandes vocales avec les briques SARAH (dans ce cas il faut tourner sous windows)
      – Ou des messages de ChatBot dans ce cas il faut que la machine puisse recevoir des requêtes (webhook) provenant du cloud.

      Donc ça dépends de ce que vous appelez un cloud privé.

      J’aime

  2. Bonjour,

    C’est très intéressant d’apprendre des nouvelles technologies comme la domotique, je dois vous avouer que je suis éblouie par S.A.R.A.H que j’ai pu voir et suivre l’évolution de la V2.1 vers la V4. Malheureusement avec la V5 je ne pense pas pouvoir la découvrir facilement ! Je vous saurai gré de bien vouloir créer un guide d’installation pas à pas qui explique les différentes étapes de déploiement et d’utilisation de la V5.

    Un très grand merci à monsieur Jean-Philippe Encausse.

    J’aime

  3. Information très intéressantes et pertinantes.

    Mais j’aimerais savoir comment installer la version 5 de Sarah de maniere a la rendre fonctionnel.

    Bon travail félicitation pour tout.

    J’aime

  4. bonjour la version de sarah v5 est elle disponible ?
    pourra t on demender a sarah de scanner un objet (ou de lancer un scan 3d)
    bon dela a lui demander de nous dessiner un mouton …… 😉

    J’aime

  5. salut Jp
    super idée node red et sarah
    questions
    -y aura t il un fichier install (.exe) comme avec la v4 de sarah?
    -Sarah reste elle utilisable hors connexion web ?
    -existe t il des tutos pour l’installation de Sarah v5 ?
    – est ce que node red est difficile à apprendre sans pré requis de programmation?
    -nous fera tu des tutos node red Sarah v5 ?
    -est ce qu il sera toujours possible d utiliser Sarah v4 si Sarah v5 est installée?
    -est ce que Sarah v5 sera capable de gérer un ou plusieurs kinect v1 ou bien gérer un kinect v2 ?
    -est ce que Sarah v4 v5 tourneront sur un bi-xeon e5 2630 v3v4?

    Vola je crois que toute mes questions sont posées .
    Du nombre de question il est vrai que je m intéresse fort à un soft comme Sarah et je vous tire mon chapeau pour tout le travail accomplit . Encore merci merci pour cela .
    une bonne continuation
    Jp Encausse ou notre french Woz le magicien

    J’aime

    1. J’ai packagé un .exe avec tout mais il n’est pas à jour, le mieux est de suivre le wiki du GitHub
      La partie « SARAH » conciste a utiliser des .exe windows depuis Node-RED mais de nos jours les APIs qui marchent se trouvent sur le cloud
      Node-RED est une interface graphique relativement simple a utiliser pour aligner des brique de lego technique, le développement d’une nouvelle brique de lego necessite des compétences JS mais ca reste « simple » d’ou la popularité de Node-RED
      Kinect étant abandonné par Microsoft, j’ai laissé posé le sujet en attendant leur v2

      A mon sens, le mieux est de commencer petit avec Node-RED, brancher quelques usages et progressivement réfléchir comment intégrer la voix. Chez moi j’ai plus tendance a avoir un Node-RED dans le cloud qui se connecte à des APIs puis un Node-RED dans la maison pour tous les machins qui n’ont pas d’API. Mais ça fait des archi un peu complexe et plus l’on peut déporter sur du IFTTT, GoogleHome ou Alexa et plus c’est simple. Après les GAFAM n’ont toujours pas de mécanique de notification pour que l’assistant te parle quand un trigger est déclenché (détection de présence par ex)

      J’aime

  6. Salut Jp
    Merci pour cette réponse claire et rapide😁😀☺️👍😊

    Si je comprend bien avec node red les possibilité sont voisines de l infini en somme.

    J aurais une autre question sur v4 v5
    Exxiste t il un moyen de coller une GUI à Sarah v4/v5 ?
    Si oui comment sans rentrer forcément dans les détails, quels soft peut on utiliser ?

    Sam

    J’aime

    1. En v3/v4 il y avait une notion de portail. En v5 node-red fournit différent module, dont un qui s’appel node-red-dashboard permettant de faire des UI. Mais tu peux faire un noeud HTTP qui réagis à /monui et derrière retourner le HTML associé.

      J’aime

      1. Cool
        Super !
        Si il y a un site où tutos que tu peux recommencer pour apprendre node red😉😁😊👍
        Thx 1138 woz 😉

        J’aime

  7. […] tard, de nombreuses technologies ont évolué et Kinect est devenu obsolète. C’est ainsi que j’ai décidé de réécrire la v5 de SARAH sur un outil et une communauté formidable d’IBM qui s’appel Node-RED. Le projet est […]

    J’aime

Laisser un commentaire