Este guia descreve como enviar uma entrada de áudio para uma solicitação de detecção de intent usando a API. O Dialogflow processa o áudio e o converte em texto antes de tentar uma correspondência de intent.
Antes de começar
Este recurso só é relevante quando se usa a API para interações do usuário final. Se você estiver usando uma integração, ignore este guia.
Antes de ler este guia, conclua as seguintes tarefas:
- Leia os Conceitos básicos do Dialogflow.
- Conclua as etapas de configuração.
Criar um agente
- Acesse o console do Dialogflow ES.
- Faça login no console, se solicitado. Para mais informações, consulte a visão geral do console do Dialogflow.
- No menu da barra lateral, expanda Carregando agentes.
- Clique em Criar novo agente.
- Insira o nome do agente, o idioma padrão e o fuso horário padrão.
- Insira um projeto. Para permitir que o console do Dialogflow crie um projeto, selecione Criar um novo projeto do Google.
- Clique em Criar.
Detectar intent
Para detectar a intent, chame o detectIntent método no
Sessions tipo.
REST
Faça o download do arquivo de áudio de entrada de amostrabook-a-room.wav, que diz "book a room." O arquivo de áudio precisa ser codificado em Base64 para este exemplo. Assim, será possível fornecê-lo na solicitação JSON abaixo.
Para codificar o arquivo de áudio para a solicitação, use os comandos a seguir no 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 mais informações sobre como codificar conteúdo de áudio, consulte Como codificar conteúdo de áudio em Base64.
Antes de usar os dados da solicitação abaixo, faça estas substituições:
- PROJECT_ID: o ID do 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 da solicitação:
{
"queryInput": {
"audioConfig": {
"languageCode": "en-US"
}
},
"inputAudio": "AUDIO"
}
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"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"
}
}
O valor do campo queryResult.action é "room.reservation", e o valor do campo queryResult.fulfillmentMessages[0|1].text.text[0] pede mais informações ao usuário.
Go
Para autenticar no Dialogflow CX, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para autenticar no Dialogflow CX, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para autenticar no Dialogflow CX, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para autenticar no Dialogflow CX, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Outras linguagens
C#: siga as Instruções de configuração do C# na página das bibliotecas de cliente e acesse a Documentação de referência do Dialogflow CX para .NET.
PHP: siga as Instruções de configuração do PHP na página das bibliotecas de cliente e acesse a Documentação de referência do Dialogflow CX para PHP.
Ruby: siga as Instruções de configuração do Ruby na página das bibliotecas de cliente e acesse a Documentação de referência do Dialogflow CX para Ruby.