Esta página mostra como transmitir a 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.
Noções básicas de streaming
O método Session
type's streamingDetectIntent
devolve um objeto de streaming gRPC bidirecional.
Os métodos disponíveis para este objeto variam consoante o idioma. Por isso, consulte a documentação de referência da sua biblioteca cliente para ver detalhes.
O objeto de streaming é usado para enviar e receber dados em simultâneo.
Com este objeto, o seu cliente transmite conteúdo de áudio para o Dialogflow,
enquanto ouve simultaneamente um StreamingDetectIntentResponse
.
O método streamingDetectIntent
tem um parâmetro query_input.audio_config.single_utterance
que afeta o reconhecimento de voz:
- Se for
false
(predefinição), o reconhecimento de voz não cessa até o cliente fechar a stream. - Se
true
, o Dialogflow deteta uma única expressão falada no áudio de entrada. Quando o Dialogflow deteta que a voz do áudio parou ou foi pausada, interrompe o reconhecimento de voz e envia umStreamingDetectIntentResponse
com um resultado de reconhecimento deEND_OF_SINGLE_UTTERANCE
para o seu cliente. O Dialogflow ignora qualquer áudio enviado para o Dialogflow na stream após a receção deEND_OF_SINGLE_UTTERANCE
.
Na transmissão em fluxo bidirecional, um cliente pode fechar parcialmente o objeto de transmissão em fluxo para sinalizar ao servidor que não vai enviar mais dados.
Por exemplo, em Java e Go, este método chama-se closeSend
.
É importante fechar parcialmente (mas não anular) as streams nas seguintes situações:
- O seu cliente terminou o envio de dados.
- O cliente está configurado com
single_utterance
definido como verdadeiro e recebe umStreamingDetectIntentResponse
com um resultado de reconhecimento deEND_OF_SINGLE_UTTERANCE
.
Depois de fechar uma stream, o cliente deve iniciar um novo pedido com uma nova stream, conforme necessário.
Streaming detect intent
Os exemplos seguintes usam o método streamingDetectIntent
do tipo Session
para fazer streaming de áudio.
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.
Amostras
Consulte a página de exemplos para ver as práticas recomendadas sobre o streaming de um microfone do navegador para o Dialogflow.