
Este artigo se concentrará na interface do usuário de voz (VUI) e também mostrará como você pode criar um aplicativo no Node.js (uma habilidade - na terminologia da plataforma Yandex.Dialogs) para o assistente de voz de Alice. Usando uma API de terceiros, nosso aplicativo receberá cotações de pessoas famosas e as passará para Alice, que, por sua vez, as lerá para os usuários. Além disso, considere uma das poucas maneiras de monetizar esses aplicativos - a criação de um botão de doação (doação). Em geral, todos devem estar satisfeitos.
Então, quais são as interfaces de voz em seu núcleo? O fato é que, há vários anos, as tecnologias atingiram um nível de desenvolvimento no qual se tornou possível o uso massivo da maneira mais natural e natural de interação humana com um computador - através da voz. Várias grandes empresas de TI ofereceram a oportunidade de desenvolver "aplicativos de voz" para desenvolvedores de terceiros, criando as plataformas apropriadas:
Alexa (Amazon) ,
Ação no Google ,
Bixby (Samsung) ,
Alice (Yandex) . Agora, essas plataformas geram um poderoso impulso para a ampla disseminação de interfaces de voz - de computadores e smartphones a eletrodomésticos. Parece que nos próximos anos haverá uma mudança radical no paradigma usual da interação homem-máquina: em vez de botões e interruptores, todos esses refrigeradores, cafeteiras, fornos de microondas e ferros serão controlados por uma voz humana.
Hoje vamos nos concentrar em Alice, inicialmente focada no suporte ao idioma russo e já com um sintetizador de alta qualidade da voz humana. Alice pode ser chamada de:
Yandex.Browser ; Aplicativo móvel
Yandex com Alice para
Android e
iOS ;
Aplicativo móvel
Yandex.Navigator para
Android e
iOS ;
Yandex.Stations . Para habilidades, Alice possui um
catálogo especial no qual desenvolvedores independentes, como você, podem publicar seus aplicativos. E você sabe, apesar do fato de a plataforma ainda estar muito jovem - Alice já é bastante. Ela literalmente se torna onipresente diante de nossos olhos! Por exemplo, os downloads do aplicativo
Yandex com Alice para
Android ultrapassaram 100 milhões e, de acordo com o
StatCounter , em julho de 2019, a participação do
Yandex.Browser no mercado russo era de mais de 13%. E estes são apenas alguns exemplos para fins ilustrativos.

Portanto, para programadores que estão acompanhando a inovação, é hora de desenvolver interfaces de voz! Vamos começar, e
criaremos uma habilidade que enviará solicitações à API do
forismatic.com , extrairá citações da resposta e dos nomes de seus autores, formatará tudo isso de forma adequada e enviará para Alice. Este último, por sua vez, (e já sem a nossa participação) pronunciará e mostrará essas declarações ao seu público. Além disso, solicitaremos a Alice que permita que os usuários que possuem uma tela exibam o botão "
Projeto de suporte ". Quando clicado, o usuário será redirecionado para a página do serviço
Yandex.Money . Assim, pessoas com bom coração e algum dinheiro podem ajudar a desenvolver seu projeto.
Primeiro, você precisa ter o
Node.js. instalado no seu computador
com o npm e também (opcionalmente, apenas para teste)
ngrok (veja também o spoiler
sobre o ngrok abaixo ) e / ou precisa ter uma conta
ZEIT gratuita ou paga (para teste) e implantações; você também deve instalar o
Now CLI ).
Sobre ngrokO ngrok "quebra o túnel" do seu computador para a Internet; portanto, durante o teste, o computador local se torna um servidor na World Wide Web - essa é a principal conveniência e objetivo do
ngrok . Para instalar o
ngrok : crie uma conta gratuita no
ngrok.com , faça o download do arquivo zip e descompacte-o em uma máquina local, por exemplo, em
C: \ Arquivos de Programas \ ngrok e defina o caminho para esta pasta no
caminho da variável de ambiente. Na linha de comando ou terminal, execute o comando
ngrok -v
para garantir que tudo funcione. Então, para associar a máquina local à sua conta no
ngrok , executamos o comando uma vez:
ngrok authtoken YOUR_TOKEN
que
YOUR_TOKEN é o seu token exclusivo que você encontrará em sua conta no
ngrok .
Em seguida, no
GitHub, clone (ou faça o download e descompacte) o repositório
alice-tutorial-skill , que é parte integrante deste artigo. O código com comentários detalhados está no arquivo
/api/index.js - você pode lê-lo como notas de um músico.
Depois disso, digite o diretório:
cd alice-tutorial-skill
e instale os pacotes necessários:
npm install
Para testar com o
ngrok :
- Em um prompt de comando ou terminal, no diretório alice-tutorial-skill , execute o comando:
npm start
- Em outra instância da linha de comando ou terminal, execute o comando:
ngrok http 3000
- Copie o URL https gerado pelo ngrok, conforme mostrado na captura de tela abaixo.

Para implantar ou testar no
ZEIT : na linha de comando ou terminal, no diretório
alice-tutorial-skill , execute o comando:
now
Aguarde alguns segundos até que o código seja carregado no servidor e, em seguida, copie o URL no console do ZEIT e adicione o caminho ao diretório api (/ api /) no final deste URL.
Agora vá para sua conta
Yandex , vá para o
console Yandex.Dialogs , clique no bloco "
Criar caixa de
diálogo " e, na janela pop-up, selecione o bloco "
Habilidade em Alice ", como mostra a imagem:

Na guia
Configurações , preencha todos os campos obrigatórios e, no campo "
Webhook URL ", insira a URL gerada pelo
ngrok (mostrada no exemplo abaixo) ou a URL obtida no console da
ZEIT (com
/ api / adicionado no final):

Agora vá para a guia
Teste , onde você verá algo parecido com isto:

Isso é tudo, na verdade! É exatamente assim que a habilidade
Smart Thoughts publicada no catálogo de Alice é criada e funciona, que você pode experimentar. Em um smartphone, será algo parecido com isto:

Pretendo escrever vários artigos sobre esse tópico, e o próximo será um artigo sobre a integração de Alice com o
Bitrix24 CRM , que criará habilidades comerciais para fazer pedidos usando voz. Então, quem está interessado em se inscrever, para não perder. Você pode se inscrever aqui ou no
Telegram . E eu me despedi disso.
Atualização de 14/10/2019. Um artigo sobre a integração de Alice com o
Bitrix24 CRM foi publicado: "
Alice no país da Bitrix ".
Donuts
