
Cet article se concentrera sur l'interface utilisateur vocale (VUI) et montrera également comment créer une application sur Node.js (une compétence - dans la terminologie de la plate-forme Yandex.Dialogs) pour l'assistant vocal d'Alice. À l'aide d'une API tierce, notre application recevra des devis de personnes célèbres et les transmettra à Alice, qui, à son tour, les lira aux utilisateurs. Considérez également l'une des rares façons de monétiser de telles applications - la création d'un bouton de don (don). En général, tout le monde devrait être satisfait.
Alors, quelles sont les interfaces vocales en leur sein? Le fait est qu'il y a plusieurs années, les technologies ont atteint un niveau de développement auquel il est devenu possible d'utiliser massivement la manière la plus naturelle et naturelle d'interaction humaine avec un ordinateur - par la voix. Un certain nombre de grandes sociétés informatiques ont fourni l'opportunité de développer des «applications vocales» pour des développeurs tiers en créant les plateformes appropriées:
Alexa (Amazon) ,
Action on Google ,
Bixby (Samsung) ,
Alice (Yandex) . Désormais, ces plateformes génèrent un puissant élan pour la diffusion à grande échelle des interfaces vocales - des ordinateurs et smartphones aux appareils électroménagers. Il semble que dans les prochaines années, il y aura un changement radical dans le paradigme habituel de l'interaction homme-machine: au lieu des boutons et des interrupteurs à bascule, tous ces réfrigérateurs, cafetières, fours à micro-ondes et fers à repasser seront contrôlés par une voix humaine.
Aujourd'hui, nous allons nous concentrer sur Alice, initialement axée sur le soutien de la langue russe, et disposant déjà d'un synthétiseur de très haute qualité de la voix humaine. Alice peut être appelée depuis:
Yandex.Browser ; Application mobile
Yandex avec Alice pour
Android et
iOS ;
Application mobile
Yandex.Navigator pour
Android et
iOS ;
Yandex.Stations . Pour les compétences, Alice a un
catalogue spécial où les développeurs indépendants tels que vous pouvez publier leurs applications. Et vous savez, malgré le fait que la plate-forme soit encore très jeune - Alice est déjà beaucoup. Elle devient littéralement omniprésente sous nos yeux! Par exemple, les téléchargements de l'application
Yandex avec Alice pour
Android ont dépassé les 100 millions, et selon
StatCounter , en juillet 2019, la part de
Yandex.Browser sur le marché russe s'élevait à plus de 13%. Et ce ne sont que quelques exemples à des fins d'illustration.

Par conséquent, pour les programmeurs qui se tiennent au courant de l'innovation, il est temps de développer des interfaces vocales! Commençons, et nous
créerons une compétence qui enverra des demandes à l'API
forismatic.com , extraira des citations de la réponse et les noms de leurs auteurs, formatera le tout sous une forme appropriée et l'enverra à Alice. Ce dernier, à son tour (et déjà sans notre participation) prononcera et montrera ces déclarations à son public. De plus, nous demanderons à Alice d'autoriser les utilisateurs disposant d'un écran à afficher le bouton "
Support project ", lorsque l'utilisateur cliquera dessus, l'utilisateur sera redirigé vers la page du service
Yandex.Money . Ainsi, des personnes de bon cœur et un peu d'argent peuvent vous aider à développer votre projet.
Tout d'abord, vous devez avoir
Node.js installé sur votre ordinateur
avec npm , et également (facultativement, pour les tests uniquement)
ngrok (voir également le spoiler
À propos de ngrok ci-dessous ), et / ou vous devez avoir un compte
ZEIT gratuit ou payant (pour les tests) et déploiements; Vous devez également installer
Now CLI ).
À propos de ngrokngrok "rompt le tunnel" de votre ordinateur vers Internet, donc pour le moment de tester l'ordinateur local devient un serveur sur le World Wide Web - c'est la commodité et le but principal de
ngrok . Pour installer
ngrok : créez un compte gratuit sur
ngrok.com , téléchargez l'archive zip et décompressez-la sur une machine locale, par exemple dans
C: \ Program Files \ ngrok et définissez le chemin d'accès à ce dossier dans le
chemin de la variable d'environnement. Sur la ligne de commande ou le terminal, exécutez la commande
ngrok -v
pour vous assurer que tout fonctionne. Ensuite, pour associer la machine locale à votre compte dans
ngrok , nous
exécutons la commande une fois:
ngrok authtoken YOUR_TOKEN
où
YOUR_TOKEN est votre jeton unique que vous trouverez dans votre compte
ngrok .
Ensuite, sur
GitHub, clonez (ou téléchargez puis décompressez) le référentiel
alice-tutorial-skill , qui fait partie intégrante de cet article. Le code avec des commentaires détaillés se trouve dans le fichier
/api/index.js - vous pouvez le lire comme un musicien.
Après cela, entrez dans le répertoire:
cd alice-tutorial-skill
et installez les packages nécessaires:
npm install
Pour tester avec
ngrok :
- À une invite de commande ou un terminal, dans le répertoire alice-tutorial-skill , exécutez la commande:
npm start
- Dans une autre instance de la ligne de commande ou du terminal, exécutez la commande:
ngrok http 3000
- Copiez l'URL https générée par ngrok comme indiqué dans la capture d'écran ci-dessous.

Pour déployer ou tester sur
ZEIT : sur la ligne de commande ou le terminal, dans le répertoire
alice-tutorial-skill , exécutez la commande:
now
Attendez quelques secondes que le code soit téléchargé sur le serveur, puis copiez l'URL dans la console ZEIT et ajoutez le chemin d'accès au répertoire api (/ api /) à la fin de cette URL.
Accédez maintenant à votre compte
Yandex , accédez à la
console Yandex.Dialogs , cliquez sur la
vignette "
Créer un dialogue " et dans la fenêtre contextuelle, sélectionnez la
vignette "
Skill in Alice ", comme indiqué dans la capture d'écran:

Dans l'onglet
Paramètres , remplissez tous les champs obligatoires et dans le champ "
URL du Webhook ", insérez l'URL générée par
ngrok (indiquée dans l'exemple ci-dessous) ou l'URL obtenue dans la console
ZEIT (avec
/ api / ajouté à la fin):

Maintenant, allez dans l'onglet
Test , où vous devriez voir quelque chose comme ceci:

C'est tout, en fait! C'est ainsi que la compétence
Smart Thoughts publiée dans le catalogue d'Alice est créée et fonctionne, que vous pouvez essayer. Sur un smartphone, cela ressemblera à ceci:

J'ai l'intention d'écrire un certain nombre d'articles sur ce sujet, et le prochain sera un article sur l'intégration d'Alice avec
Bitrix24 CRM , ce qui créera des compétences commerciales pour passer des commandes à l'aide de la voix. Alors, qui sont intéressés à s'abonner, pour ne pas rater. Vous pouvez vous abonner ici ou en
télégramme . Et j'en prends congé.
Mise à jour du 14/10/2019. Un article sur l'intégration d'Alice avec
Bitrix24 CRM a été publié: "
Alice dans Bitrix Country ".
Beignets
