Este guia mostra como enviar entrada de áudio para um pedido de deteção de intenção através da API. O Dialogflow processa o áudio e converte-o em texto antes de tentar uma correspondência de intenção. Esta conversão é conhecida como entrada de áudio, reconhecimento de voz, conversão de voz em texto ou STT.
Antes de começar
Esta funcionalidade só se aplica quando usa a API para interações do utilizador final. Se estiver a usar uma integração, pode ignorar este guia.
Antes de ler este guia, deve fazer o seguinte:
- Leia as noções básicas do Dialogflow.
- Realize os passos de configuração.
Crie um agente
Se ainda não tiver criado um agente, crie um agora:
- Aceda à consola do Dialogflow ES.
- Se lhe for pedido, inicie sessão na consola do Dialogflow. Consulte a vista geral da consola do Dialogflow para mais informações.
- Clique em Criar agente no menu da barra lateral esquerda. (Se já tiver outros agentes, clique no nome do agente, desloque a página para baixo e clique em Criar novo agente.)
- Introduza o nome do agente, o idioma predefinido e o fuso horário predefinido.
- Se já tiver criado um projeto, introduza esse projeto. Se quiser permitir que a consola do Dialogflow crie o projeto, selecione Criar um novo projeto Google.
- Clique no botão Criar.
Importe o ficheiro de exemplo para o seu agente
Os passos neste guia baseiam-se em pressupostos sobre o seu agente. Por isso, tem de importar um agente preparado para este guia. Quando importa, estes passos usam a opção restaurar, que substitui todas as definições, intenções e entidades do agente.
Para importar o ficheiro, siga estes passos:
-
Transfira o ficheiro
room-booking-agent.zip
. - Aceda à consola do Dialogflow ES.
- Selecione o seu agente.
- Clique no botão Definições settings junto ao nome do agente.
- Selecione o separador Exportar e importar.
- Selecione Restaurar do ZIP e siga as instruções para restaurar o ficheiro ZIP que transferiu.
Detetar intenção
Para detetar a intenção, chame o método detectIntent
no tipo Sessions
.
REST
Transfira obook-a-room.wav
ficheiro de áudio de entrada de exemplo,
que diz "book a room" (reservar um quarto).
O ficheiro de áudio tem de estar codificado em base64 para este exemplo,
para que possa ser fornecido no pedido JSON abaixo.
Segue-se um exemplo do Linux:
wget https://cloud.google.com/dialogflow/es/docs/data/book-a-room.wav base64 -w 0 book-a-room.wav > book-a-room.b64
Para ver exemplos noutras plataformas, consulte o artigo Codificação Base64 de conteúdo de áudio na documentação da API Cloud Speech-to-Text.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu projeto do Google Cloud
- AUDIO: o conteúdo de áudio codificado em base64
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/sessions/123456789:detectIntent
Corpo JSON do pedido:
{ "queryInput": { "audioConfig": { "languageCode": "en-US" } }, "inputAudio": "AUDIO" }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "responseId": "3c1e5a89-75b9-4c3f-b63d-4b1351dd5e32", "queryResult": { "queryText": "book a room", "action": "room.reservation", "parameters": { "time": "", "date": "", "guests": "", "duration": "", "location": "" }, "fulfillmentText": "I can help with that. Where would you like to reserve a room?", "fulfillmentMessages": [ { "text": { "text": [ "I can help with that. Where would you like to reserve a room?" ] } } ], "intent": { "name": "projects/PROJECT_ID/agent/intents/e8f6a63e-73da-4a1a-8bfc-857183f71228", "displayName": "room.reservation" }, "intentDetectionConfidence": 1, "diagnosticInfo": {}, "languageCode": "en-us" } }
Tenha em atenção que o valor do campo queryResult.action
é "room.reservation" e o valor do campo queryResult.fulfillmentMessages[0|1].text.text[0]
pede ao utilizador mais informações.
Go
Para se autenticar no Dialogflow, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para se autenticar no Dialogflow, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para se autenticar no Dialogflow, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para se autenticar no Dialogflow, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Idiomas adicionais
C#: Siga as instruções de configuração do C# na página das bibliotecas cliente e, em seguida, visite a documentação de referência do Dialogflow para .NET.
PHP: Siga as instruções de configuração do PHP na página das bibliotecas cliente e, em seguida, visite a documentação de referência do Dialogflow para PHP.
Ruby: Siga as instruções de configuração do Ruby na página das bibliotecas cliente e, em seguida, visite a documentação de referência do Dialogflow para Ruby.