Se você não estiver usando uma integração, escreva o código para interagir com os usuários finais. Para cada conversão, o código chama a API Dialogflow para consultar o agente. Este guia mostra como interagir com um agente usando a API REST na linha de comando e usando as bibliotecas cliente.
Antes de começar
Se você não planeja usar a API, ignore este guia de início rápido.
Faça o seguinte antes de ler este guia:
- Compreenda os conceitos básicos do Dialogflow .
- Execute as etapas de configuração.
- Realize as etapas no guia de início rápido Criar um agente.
As etapas abaixo continuam funcionando iniciado nesse guia.
Se você não tiver mais esse agente, faça o download de
build-agent-quickstart.zip
e importe o arquivo.
Sessões
Uma sessão representa uma conversa entre um agente do Dialogflow e um usuário final. Você cria uma sessão no início de uma conversa e a usa a cada fala. Depois que a conversa terminar, você deixará de usar a sessão.
Não use a mesma sessão para conversas simultâneas com diferentes usuários finais. No momento, o Dialogflow mantém os contextos ativos para cada sessão ativa. Ele armazena os dados da sessão por 20 minutos.
Cada sessão é determinada de forma exclusiva por um ID de sessão gerado pelo sistema. Crie uma nova sessão fornecendo um novo ID de sessão em uma solicitação de detecção de intent. Um ID de sessão é uma string de no máximo 36 bytes. Seu sistema é responsável por gerar IDs de sessão exclusivos. Eles podem ser números aleatórios, identificadores de usuário final com hash ou qualquer outro valor conveniente para a geração.
Detectar intent
Quando você usa a API para interações, seu serviço interage diretamente com o usuário final.
Para cada fala na conversa, o serviço envia expressões de usuário final para o Dialogflow chamando o método detectIntent
ou streamingDetectIntent
do tipo Sessions
.
O Dialogflow responde com informações sobre a intent correspondente, a ação, os parâmetros e a resposta definida para a intent.
Seu serviço executa ações conforme necessário (por exemplo, consultas de banco de dados ou chamadas de API externas) e envia uma mensagem para o usuário final.
Esse processo continua até que a conversa termine.
Os exemplos a seguir mostram como detectar a intent. Cada uma delas aceita um subconjunto das entradas a seguir:
- ID do projeto: use o ID do projeto que você criou nas etapas de configuração.
- ID de sessão: é possível usar o que você quiser para testar um agente. Por exemplo, "123456789" é muito usado em amostras.
- Texto ou textos: é a única expressão de usuário final ou lista de expressões de usuário final. Se várias expressões forem fornecidas, as chamadas de código de amostra detectam a intent para cada expressão. Tente usar "Eu sei francês".
- Código do idioma: o código do idioma da expressão do usuário final. Use "en-US" para este agente de exemplo.
REST
Para detectar a intent, chame o métododetectIntent
no recurso Sessions
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto do Google Cloud
- SESSION_ID: um código da sessão.
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/sessions/SESSION_ID:detectIntent
Corpo JSON da solicitação:
{ "query_input": { "text": { "text": "I know french", "language_code": "en-US" } } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "responseId": "856510ca-f617-4e25-b0bb-a26c0a59e030-19db3199", "queryResult": { "queryText": "I know french", "parameters": { "language": "French", "language-programming": "" }, "allRequiredParamsPresent": true, "fulfillmentText": "Wow! I didn't know you knew French. How long have you known French?", "fulfillmentMessages": [ { "text": { "text": [ "Wow! I didn't know you knew French. How long have you known French?" ] } } ], "outputContexts": [ { "name": "projects/PROJECT_ID/agent/sessions/123456789/contexts/set-language-followup", "lifespanCount": 2, "parameters": { "language": "French", "language.original": "french", "language-programming": "", "language-programming.original": "" } } ], "intent": { "name": "projects/PROJECT_ID/agent/intents/fe45022f-e58a-484f-96e8-1cbd6628f648", "displayName": "set-language" }, "intentDetectionConfidence": 1, "languageCode": "en" } }
Observe os pontos a seguir sobre a resposta:
- O campo
queryResult.intent
contém a intent correspondente. - O valor do campo
queryResult.fulfillmentMessages
contém a resposta da intent. Essa é a resposta que seu sistema precisa encaminhar para o usuário final. - O valor do campo
queryResult.parameters
contém os parâmetros extraídos da expressão do usuário final. - O campo
queryResult.outputContext
contém o contexto ativo.
Go
Para autenticar no Dialogflow, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para autenticar no Dialogflow, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para autenticar no Dialogflow, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para autenticar no Dialogflow, configure o Application Default Credentials. Para 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 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 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 para Ruby.
Produção
Antes de executar seu agente na produção, implemente as práticas recomendadas de produção.