Defina, referencie, defina e obtenha parâmetros
Existem quatro formas gerais de utilização dos parâmetros:
- Definir no momento da conceção: durante o momento da conceção, usa a consola ou a API para definir parâmetros. Por exemplo, pode definir um parâmetro de intenção e usá-lo numa expressão de preparação para indicar a entrada do utilizador final que deve ser extraída.
- Referência no momento da conceção: as referências de parâmetros são variáveis que contêm valores de parâmetros a serem extraídos no momento da execução. Durante o tempo de conceção, usa a consola ou a API para fazer referência a parâmetros em vários tipos de dados. Por exemplo, pode fazer referência a um parâmetro de sessão numa resposta de preenchimento estática para uma rota.
- Definido no tempo de execução: No tempo de execução, o serviço de agentes conversacionais (Dialogflow CX), o seu serviço que chama a API e o seu serviço de webhook podem definir valores de parâmetros. Por exemplo, o serviço Conversational Agents (Dialogflow CX) define o valor de um parâmetro de intenção quando uma entrada do utilizador final corresponde à intenção e a entrada contém dados de parâmetros.
- Obtenha no tempo de execução: No tempo de execução, as referências de parâmetros contêm os valores dos parâmetros que foram definidos, e pode usar a API ou um webhook para obter os valores dos parâmetros. Por exemplo, quando uma intenção é correspondida e o webhook é chamado, o serviço de webhook recebe os valores dos parâmetros da intenção.
Nomenclatura dos parâmetros
Aplicam-se as seguintes regras à atribuição de nomes aos parâmetros:
- Use os seguintes carateres:
[A-Z]
,[a-z]
,[0-9]
,.
,-
e_
- Os nomes dos parâmetros não são sensíveis a maiúsculas e minúsculas, pelo que os agentes conversacionais (Dialogflow CX) tratam
Apple
eapple
como o mesmo parâmetro. O código do cliente da API e do webhook também deve tratar os nomes dos parâmetros como não sensíveis a maiúsculas e minúsculas, porque não existe garantia de maiúsculas e minúsculas para os nomes dos parâmetros devolvidos pelos agentes conversacionais (Dialogflow CX). - Quando cria parâmetros com o mesmo ID ou nome a apresentar em diferentes intenções ou formulários, certifique-se de que o tipo de entidade e outras definições são iguais para todas as definições. Se o tipo de entidade ou outras definições de parâmetros forem diferentes, use um ID de parâmetro ou um nome a apresentar exclusivo para cada definição.
Tipos de valores de parâmetros
Os valores dos parâmetros suportam vários tipos de valores. A secção seguinte sobre sessões descreve como referenciar cada tipo de valor de parâmetro. São suportados os seguintes tipos:
Tipo | Descrição |
---|---|
Escalar | Um único valor numérico ou de string. |
Composto | Um objeto JSON preenchido através da correspondência de uma entidade composta ou do preenchimento de um parâmetro de intenção, que contém os campos original e resolved . |
Lista | Uma lista de valores escalares ou compostos preenchidos para um parâmetro configurado como uma lista. Veja as seguintes opções de Is List. |
Valores nulos e de string vazia de parâmetros
Pode definir valores de parâmetros de string como ""
, o que define o parâmetro como a string vazia.
Pode definir qualquer valor de parâmetro como null
,
o que indica que o parâmetro não foi definido.
Valores originais dos parâmetros
Quando o texto corresponde a uma entidade específica no tempo de execução, é frequentemente resolvido para um valor mais conveniente para processamento. Por exemplo, a palavra "apples" (maçãs) na entrada do utilizador final pode ser resolvida como "apple" (maçã) para uma entidade de fruta.
Todos os tipos de valores para referências de parâmetros de intenção podem referenciar o valor original ou resolvido.
Apenas os tipos de valores compostos para referências de parâmetros de sessão podem fazer referência ao valor original.
Parâmetros de intenção
Intenções usam parâmetros para extrair dados fornecidos pelos utilizadores finais quando as intenções são correspondidas. Os seguintes dados são usados para definir um parâmetro de intenção:
- Nome (também conhecido como ID ou Nome a apresentar): Um nome que identifica o parâmetro.
- Tipo de entidade: O tipo de entidade associado ao parâmetro.
- Is List: Se for verdadeiro, o parâmetro é tratado como uma lista de valores.
- Oculte no registo: Se for verdadeiro, os dados dos parâmetros fornecidos pelo utilizador final são ocultados.
Defina parâmetros de intenção
Os parâmetros de intenção são definidos no momento da conceção quando cria dados de intenção ou quando anota frases de preparação.
Referencie parâmetros de intenção
As referências de parâmetros de intenção podem ser usadas em mensagens de resposta de preenchimento estáticas de rotas de intenção.
Pode fazer referência ao valor original ou ao valor resolvido.
Para fazer referência a um parâmetro da intenção correspondente atual, use um dos seguintes formatos:
$intent.params.parameter-id.original $intent.params.parameter-id.resolved
Por exemplo, se o ID do parâmetro for date
, pode fazer referência ao valor resolvido como $intent.params.date.resolved
.
Defina parâmetros de intenção
Quando uma entrada do utilizador final corresponde a uma intenção no tempo de execução, qualquer parâmetro usado por uma anotação para a expressão de preparação associada é definido pelos agentes conversacionais (Dialogflow CX).
O preenchimento de uma rota de intenção pode usar uma predefinição de parâmetro de preenchimento para definir um valor de parâmetro de intenção no tempo de execução.
Obtenha parâmetros de intenção
Durante a interação conversacional em que uma intenção é correspondida, o seu código pode aceder aos valores dos parâmetros de intenção.
As interações com a API devolvem os valores dos parâmetros de intenção.
Consulte o campo de resposta queryResult.parameters
do método detectIntent
para o tipo Session
.
Selecione um protocolo e uma versão para a referência da sessão:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso de sessão | Recurso de sessão |
RPC | Interface de sessão | Interface de sessão |
C++ | SessionsClient | Não disponível |
C# | SessionsClient | Não disponível |
Ir | SessionsClient | Não disponível |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | Não disponível | Não disponível |
Python | SessionsClient | SessionsClient |
Ruby | Não disponível | Não disponível |
Valores de parâmetros de intenção de receção do webhook.
Veja o campo intentInfo.parameters
no
pedido de webhook.
Parâmetros de formulário
Para cada página, pode definir um formulário, que é uma lista de parâmetros que devem ser recolhidos do utilizador final para a página. O agente interage com o utilizador final em várias voltas de conversa, até ter recolhido todos os parâmetros do formulário necessários, que também são conhecidos como parâmetros da página. O agente recolhe estes parâmetros na ordem definida na página. Para cada parâmetro de formulário obrigatório, também fornece comandos que o agente usa para pedir essas informações ao utilizador final. Este processo é denominado preenchimento de formulários.
Por exemplo, pode criar um formulário que recolha o nome e o número de telefone do utilizador final para uma página de Collect Customer Info
.
Os seguintes dados são usados para definir um parâmetro de formulário:
Nome da opção da consola | Cadeia de campos da API | Descrição |
---|---|---|
Nome a apresentar | Page.form.parameters[].displayName |
Um nome que identifica o parâmetro. |
Tipo de entidade | Page.form.parameters[].entityType |
O tipo de entidade associado ao parâmetro. |
Obrigatória | Page.form.parameters[].required |
Indica se o parâmetro é obrigatório. Os parâmetros obrigatórios têm de ser preenchidos antes da conclusão do preenchimento do formulário, e o agente pede valores ao utilizador final. Consulte a secção Defina parâmetros de formulário abaixo para ver detalhes. |
Valor predefinido (visível apenas quando a opção Obrigatório não está selecionada) | Page.form.parameters[].defaultValue |
O valor predefinido de um parâmetro opcional. Consulte a secção Defina parâmetros de formulário abaixo para ver detalhes. |
É lista | Page.form.parameters[].isList |
Se for verdadeiro, o parâmetro é tratado como uma lista de valores. |
Oculte no registo | Page.form.parameters[].redact |
Se for verdadeiro, os dados dos parâmetros fornecidos pelo utilizador final são ocultados. |
Preenchimento do comando inicial | Page.form.parameters[].fillBehavior.initialPromptFulfillment |
Comandos iniciais sob a forma de preenchimento para pedir um valor de parâmetro obrigatório ao utilizador final. Consulte a secção Defina parâmetros de formulário abaixo para ver detalhes. |
Controladores de eventos de novo pedido | Page.form.parameters[].fillBehavior.repromptEventHandlers |
Estes são usados quando o agente precisa de pedir novamente ao utilizador final que preencha o parâmetro após uma tentativa falhada. Consulte os controladores de repetição do preenchimento de formulários. Se não estiverem definidos controladores de eventos de reprompt, o agente volta a pedir com os comandos iniciais após uma tentativa falhada. |
DTMF | Não disponível | Consulte a secção DTMF seguinte. |
Defina e faça a gestão de parâmetros de formulários
Os parâmetros de formulário são definidos no momento da conceção quando cria uma página.
Para alterar a ordem dos parâmetros do formulário com a consola, clique no título da secção Parâmetros na página e, de seguida, arraste as linhas dos parâmetros na tabela de parâmetros.
Para eliminar um parâmetro de formulário, clique no título da secção Parâmetros na página, mantenha o ponteiro sobre um parâmetro e, de seguida, clique no botão delete de eliminação.
Faça referência a parâmetros de formulário
As referências de parâmetros de formulário não são usadas diretamente. Só pode verificar o estado de preenchimento de parâmetros de formulários individuais ou do formulário como um todo. Pode usar estas referências do estado do formulário num requisito de condição de uma rota de condição.
Para verificar se o formulário completo da página atual está preenchido, use a seguinte condição:
$page.params.status = "FINAL"
Para verificar se um parâmetro de formulário específico foi preenchido na última interação, use a seguinte condição:
$page.params.parameter-id.status = "UPDATED"
Defina parâmetros de formulário
Os valores dos parâmetros de formulário podem ser definidos de várias formas. As subsecções seguintes descrevem cada mecanismo para definir valores de parâmetros de formulário.
Valores de parâmetros predefinidos
Pode fornecer valores predefinidos para parâmetros de formulários opcionais. Quando o preenchimento do formulário começa, todos os parâmetros opcionais do formulário não definidos são definidos com os respetivos valores predefinidos. Estes valores podem ser inicializados ou substituídos por alguns dos seguintes mecanismos.
Se um parâmetro for obrigatório, o respetivo valor predefinido é ignorado.
Preenchimento de formulários
Os agentes conversacionais (Dialogflow CX) definem automaticamente os valores dos parâmetros fornecidos pelo utilizador final durante o preenchimento de formulários. O agente recolhe os parâmetros obrigatórios na ordem definida na página. O agente pede ao utilizador final os valores necessários através do preenchimento do comando inicial que fornece para cada parâmetro necessário. Os parâmetros opcionais não acionam comandos.
Se um valor de parâmetro obrigatório não for fornecido pelo utilizador final após um comando do agente, o comando inicial é repetido, a menos que seja definido um comportamento diferente nos controladores de repetição de comandos. Se existirem vários comandos de texto iniciais definidos, o comportamento do agente é o mesmo que o comportamento para quaisquer respostas de texto de preenchimento.
Propagação de parâmetros de intenção e sessão
Quando um parâmetro de qualquer tipo é definido no tempo de execução, o parâmetro é escrito na sessão e torna-se um parâmetro de sessão.
Quando uma página se torna inicialmente ativa e, durante o período ativo, qualquer parâmetro de formulário com o mesmo nome que um parâmetro de sessão é automaticamente definido como o valor do parâmetro de sessão.
Isto pode acontecer com um parâmetro de intenção correspondente numa rota de intenção ou na propagação de parâmetros.
A propagação de parâmetros de intenção e sessão é o único mecanismo para definir parâmetros de formulário opcionais para valores de entrada do utilizador final, mas este mecanismo também pode definir ou substituir valores de parâmetros de formulário obrigatórios.
Predefinições de parâmetros de processamento
O preenchimento de uma rota, um controlador de eventos ou um repeditório do formulário pode usar uma predefinição de parâmetros de preenchimento para definir um valor de parâmetro do formulário no tempo de execução. Uma predefinição de parâmetros de execução substitui um valor de parâmetro, incluindo os valores predefinidos dos parâmetros.
Definição de parâmetros de webhook
O webhook pode definir os valores dos parâmetros do formulário em tempo de execução.
Consulte o campo pageInfo.formInfo.parameterInfo
na resposta do webhook.
Obtenha parâmetros de formulário
As interações com a API devolvem os valores dos parâmetros do formulário.
Consulte o campo de resposta queryResult.parameters
do método detectIntent
para o tipo Session
.
Selecione um protocolo e uma versão para a referência da sessão:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso de sessão | Recurso de sessão |
RPC | Interface de sessão | Interface de sessão |
C++ | SessionsClient | Não disponível |
C# | SessionsClient | Não disponível |
Ir | SessionsClient | Não disponível |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | Não disponível | Não disponível |
Python | SessionsClient | SessionsClient |
Ruby | Não disponível | Não disponível |
Os webhooks recebem valores de parâmetros de formulários.
Veja o campo pageInfo.formInfo.parameterInfo
no
pedido de webhook.
Controladores de repetição do preenchimento de formulários
Os controladores de repetição de pedidos, também conhecidos como controladores de eventos ao nível do parâmetro, são usados para definir o comportamento complexo de pedidos de parâmetros para parâmetros obrigatórios. Por exemplo, os controladores de repetição de pedidos podem ser usados para alterar o comando quando o utilizador final não fornece um valor após o comando inicial e para fazer a transição para outra página após N tentativas falhadas.
Se não forem definidos controladores de repetição de pedidos, o comando inicial é usado para repetir o pedido ao utilizador final, conforme necessário.
Se o utilizador final responder com uma entrada inesperada,
é invocado um evento sys.no-match-*
ou sys.no-input-*
,
e são chamados todos os controladores de reprompt definidos para estes eventos.
Tal como outros controladores de eventos, um controlador de reprompt é um tipo de controlador de estado que pode ser configurado com uma ou ambas as seguintes opções:
- Um preenchimento para fornecer uma mensagem de repetição ao utilizador final e um parâmetro predefinido.
- Um destino de transição para alterar a página atual.
Parâmetros de sessão
Quando um parâmetro de qualquer tipo é definido no tempo de execução, o parâmetro é escrito na sessão e torna-se um parâmetro de sessão. Estes parâmetros não estão definidos explicitamente no momento da conceção. Pode consultar estes parâmetros de sessão em qualquer altura durante uma sessão.
Faça referência a parâmetros de sessão
As referências de parâmetros de sessão podem ser usadas nas mensagens de resposta estáticas para os seguintes tipos de preenchimento:
- Preenchimento de entrada de página
- Execução do trajeto
- Preenchimento do controlador de eventos
- Preenchimento de pedidos de formulários
- Cumprimento do novo pedido de formulário
As referências também podem ser usadas nos seguintes serviços:
- Valores do cabeçalho do webhook para autenticação.
- Pedidos de webhook flexíveis, para enviar valores de parâmetros para um webhook.
Para fazer referência a um parâmetro de sessão, use os seguintes formatos:
Escalar
Para aceder a um parâmetro com um tipo de entidade escalar:
$session.params.parameter-id
Por exemplo, se o ID do parâmetro for date
, pode fazer referência ao valor como $session.params.date
.
Composto
Para aceder a um membro de um parâmetro com um tipo de entidade composto:
$session.params.parameter-id.member-name
Por exemplo, se o ID do parâmetro for
location
, pode fazer referência ao valor do membrozip-code
como$session.params.location.zip-code
.Para aceder ao valor original de um parâmetro com um tipo de entidade composto:
$session.params.parameter-id.original
Para aceder ao objeto completo de um parâmetro com um tipo de entidade composto, use a função do sistema IDENTITY.
Lista
Para aceder a uma lista completa de elementos:
$session.params.parameter-id
Por exemplo, se o ID do parâmetro de lista for
colors
e os valores extraídos de uma consulta do utilizador forem["red", "blue", "yellow"]
, pode fazer referência a todos os valores como$session.params.colors
.Para aceder ao i-ésimo elemento de um parâmetro de lista:
$session.params.parameter-id[i]
Por exemplo, se o ID do parâmetro da lista for
colors
, pode fazer referência ao primeiro valor como$session.params.colors[0]
.
Defina parâmetros de sessão
Quando o preenchimento do formulário estiver concluído, os parâmetros preenchidos são escritos na sessão pelos agentes conversacionais (Dialogflow CX).
O preenchimento de uma rota, um controlador de eventos ou um repeditório de formulário pode usar uma predefinição de parâmetro de preenchimento para definir um valor de parâmetro de sessão no tempo de execução.
O webhook pode definir os valores dos parâmetros de sessão no tempo de execução.
Consulte o campo sessionInfo.parameters
na
resposta do webhook padrão
ou consulte a
resposta do webhook flexível.
As interações com a API podem definir valores de parâmetros de sessão.
Consulte o campo de pedido queryParams.parameters
do método detectIntent
para o tipo Session
.
Selecione um protocolo e uma versão para a referência da sessão:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso de sessão | Recurso de sessão |
RPC | Interface de sessão | Interface de sessão |
C++ | SessionsClient | Não disponível |
C# | SessionsClient | Não disponível |
Ir | SessionsClient | Não disponível |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | Não disponível | Não disponível |
Python | SessionsClient | SessionsClient |
Ruby | Não disponível | Não disponível |
Obtenha parâmetros de sessão
As interações com a API devolvem os valores dos parâmetros de sessão.
Consulte o campo de resposta queryResult.parameters
do método detectIntent
para o tipo Session
.
Selecione um protocolo e uma versão para a referência da sessão:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso de sessão | Recurso de sessão |
RPC | Interface de sessão | Interface de sessão |
C++ | SessionsClient | Não disponível |
C# | SessionsClient | Não disponível |
Ir | SessionsClient | Não disponível |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | Não disponível | Não disponível |
Python | SessionsClient | SessionsClient |
Ruby | Não disponível | Não disponível |
Valores dos parâmetros da sessão de receção do webhook.
Veja o campo sessionInfo.parameters
no
pedido de webhook.
Propagação de parâmetros
Quando uma entrada do utilizador final fornece um valor de parâmetro, o parâmetro pode ser propagado a outros níveis:
- Quando um parâmetro de intenção é definido por uma correspondência de intenção, os parâmetros de formulário com o mesmo nome para a página ativa são definidos com o mesmo valor. O tipo de entidade do parâmetro é ditado pela definição do parâmetro de intenção.
- Quando um parâmetro de intenção é definido por uma correspondência de intenção, ou um parâmetro de formulário é definido ao preencher um formulário, o parâmetro torna-se um parâmetro de sessão.
DTMF para integrações de telefonia
Pode ativar e configurar o DTMF (sinalização multifrequência de tom duplo) para um parâmetro. Depois de ativada, um utilizador final de um agente que use uma integração de telefonia pode usar o teclado numérico do telefone para fornecer valores de parâmetros.
Para reduzir a ambiguidade, a entrada de DTMF pode ser interpretada de forma normal e específica de DTMF (recomendada):
- A forma normal são os valores do teclado introduzidos pelo utilizador final.
Por exemplo,
123#
. - O formulário específico de DTMF converte a entrada em
dtmf_digits_[digits]
, onde[digits]
são os dígitos DTMF originais com*
substituído porstar
e#
substituído porpound
. Por exemplo,123#
é interpretado comodtmf_digits_123pound
.
Quando faz a correspondência de tipos de entidades para um parâmetro, os agentes conversacionais (Dialogflow CX) tentam fazer a correspondência das formas normais e específicas de DTMF.
Quando um tipo de entidade é usado para a entrada DTMF,
recomenda-se que defina sinónimos como dtmf_digits_123
para melhorar a correspondência de NLU.
Se a entrada DTMF não cumprir a condição de rescisão (não tiver atingido o comprimento máximo de dígitos ou não tiver sido terminada pelo dígito de conclusão), o agente de agentes conversacionais (Dialogflow CX) continua a aguardar mais entradas. Durante este período, se o tempo limite de ausência de voz for acionado, o agente invoca um evento de ausência de entrada. Se for detetada apenas uma expressão de voz, o agente estabelece uma correspondência com a entrada de voz. Se forem detetadas entradas de voz e DTMF, a entrada de voz é ignorada e apenas é considerada a entrada DTMF.
Para ativar e personalizar o DTMF para um parâmetro:
Consola
- Ative as Definições avançadas nas definições de IVR e voz do agente se ainda não as tiver ativado.
- Crie um parâmetro de página.
- No painel de parâmetros, ative a opção Ativar DTMF.
- Defina Max digits como o número máximo de dígitos que o utilizador final pode fornecer para este parâmetro.
- Defina o dígito final para o valor do teclado que vai terminar a entrada DTMF para o parâmetro.
É comum usar
#
para esta definição. O dígito final não é adicionado à consulta dos agentes conversacionais (Dialogflow CX) no agente. Por isso, se o dígito final for # e a entrada for 123#, a entrada de consulta real será "123"
Ao criar o agente, pode testar as entradas DTMF no simulador.
Smart endpointing
Se a seleção inteligente de pontos finais estiver ativada para o agente, pode personalizar o comportamento da seleção inteligente de pontos finais para um parâmetro numérico.
- Defina Dígitos mínimos para indicar ao ponto final inteligente que deve aguardar até que todos os dígitos sejam recolhidos.
- Defina a opção Corrigir transcrições para melhorar o reconhecimento de voz de dígitos corrigindo erros comuns de transcrição de dígitos. Isto só é suportado para pedidos que especifiquem um código de idioma en ou en-*.
- Defina o Tempo limite de espera para especificar o tempo adicional que os agentes conversacionais (Dialogflow CX) vão esperar que o utilizador forneça mais informações.
Parâmetros ao nível do fluxo
Os parâmetros ao nível do fluxo podem ser definidos como predefinições de parâmetros de preenchimento ou parâmetros de formulário. Só é possível fazer referência a estes parâmetros enquanto o fluxo em que estão definidos estiver ativo, e não são mantidos nos parâmetros de sessão.
Para definir ou referenciar um parâmetro ao nível do fluxo, use a seguinte sintaxe:
$flow.parameter-name
Por exemplo, se o nome do parâmetro for date
, pode definir ou fazer referência ao parâmetro como $flow.date
.
Tenha em atenção que a utilização de um prefixo de $
ao definir parâmetros
é diferente de outros tipos de parâmetros que não utilizam $
para definições de parâmetros.
Um exemplo de definição de parâmetro ao nível do fluxo:
Tempo de vida do valor do parâmetro ao nível do fluxo
É invulgar, mas, em determinados casos avançados, pode ter de compreender como os valores dos parâmetros ao nível do fluxo são retidos (ou rejeitados) quando um fluxo fica inativo e, em seguida, volta a ficar ativo.
Se os valores dos parâmetros ao nível do fluxo são retidos quando um fluxo fica inativo e, em seguida, volta a ficar ativo, depende da pilha de fluxos e das instâncias de fluxo na pilha.
- Quando o fluxo A transiciona para o fluxo B através de um destino de transição específico, o fluxo A (fluxo principal) permanece na pilha, o fluxo A retém os respetivos valores de parâmetros ao nível do fluxo e é adicionada uma nova instância do fluxo B (fluxo secundário) à pilha.
- Quando um fluxo secundário transiciona novamente para um fluxo principal através de um alvo de transição simbólico (por exemplo, END_FLOW), o fluxo secundário é removido da pilha, todos os valores dos parâmetros com âmbito do fluxo secundário são rejeitados e todos os valores dos parâmetros com âmbito do fluxo principal são retidos.
- Usando uma série de transições com alvos de transição específicos, a pilha de fluxos pode conter várias instâncias de um tipo de fluxo. Cada instância do tipo de fluxo tem valores de parâmetros únicos ao nível do fluxo. Por exemplo: A1 -> B1 -> C1 -> B2, em que A, B e C são tipos de fluxo, e os números denotam instâncias desses tipos de fluxo. Neste exemplo, B1 e B2 são instâncias diferentes do fluxo B e têm parâmetros únicos ao nível do fluxo.
Exemplos:
Transições | Resultado |
---|---|
O fluxo A (A1) fica ativo. O fluxo B (B1) fica ativo através de um alvo de transição específico. O fluxo B transiciona novamente para o fluxo A (A1) que o iniciou através de um destino de transição simbólico. |
O fluxo A retém os valores dos parâmetros. |
O fluxo A (A1) fica ativo. O fluxo B (B1) fica ativo através de um alvo de transição específico. O fluxo B transiciona para uma nova instância do fluxo A (A2) através de um alvo de transição específico. |
A nova instância do fluxo A (A2) na parte superior da pilha não tem acesso aos valores dos parâmetros do fluxo A (A1) na parte inferior da pilha. |
O fluxo A (A1) fica ativo. O fluxo B (B1) fica ativo através de um alvo de transição específico. O fluxo A (A1) fica ativo através de um alvo de transição simbólico. O fluxo B (B2) fica ativo através de um alvo de transição específico. |
O fluxo B (B2) não retém os valores dos parâmetros definidos enquanto estava ativo após a segunda transição (B1). |
Parâmetros ao nível do pedido
Os parâmetros ao nível do pedido são parâmetros de curta duração criados por agentes conversacionais (Dialogflow CX) que só podem ser referenciados durante o ciclo de vida do pedido atual e não são mantidos nos parâmetros da sessão.
Os parâmetros ao nível do pedido são gerados por agentes conversacionais (Dialogflow CX) para as seguintes funcionalidades.
Parâmetros incorporados
Pode aceder aos vários dados associados ao pedido através de:
Referência | Descrição |
---|---|
$request.agent-id | O identificador do agente. |
$request.session-id | O identificador da sessão. |
$request.project-id | O identificador do projeto. |
$request.location-id | O identificador da localização do agente. |
$request.language | Código de idioma especificado em QueryInput.language_code . |
$request.resolved-language | O código do idioma real usado pelo agente durante o processamento. O idioma resolvido pode ser diferente do idioma especificado no pedido. Por exemplo, se o agente só suportar "en", enquanto o idioma especificado no pedido for "en-US", o idioma resolvido seria "en". |
$request.user-utterance | A expressão do utilizador atual especificada no pedido. |
$request.last-agent-utterance | A expressão mais recente enviada pelo agente. |
$request.nlu-confidence-score | A pontuação de confiança da classificação de PNL atual. |
$request.end-user-metadata | Os metadados do utilizador final especificados no pedido. |
Payload personalizado
Quando QueryParameters.payload
está definido, pode aceder ao parâmetro correspondente através de $request.payload.param-id
.
Análise de sensação geral
As seguintes referências de sentimento estão disponíveis quando a análise de sentimentos está ativada:
Referência | Tipo | Descrição |
---|---|---|
$request.sentiment.score | Número | Pontuação de sentimento entre -1,0 (sentimento negativo) e 1,0 (sentimento positivo). |
$request.sentiment.magnitude | Número | Indica a intensidade geral da emoção (positiva e negativa) entre 0,0 e +inf. Ao contrário da pontuação, a magnitude não é normalizada. Cada expressão de emoção na entrada do utilizador final (positiva e negativa) contribui para a magnitude da entrada. As entradas mais longas podem ter magnitudes maiores. |
$request.sentiment.succeeded | Booleano | Verdadeiro se a análise de sentimentos tiver sido bem-sucedida, caso contrário, falso. |
Ocultação de parâmetros
Para qualquer parâmetro de intenção ou formulário,
pode ativar a ocultação de parâmetros,
que oculta os dados de parâmetros de tempo de execução do utilizador final dos registos
e do armazenamento interno dos agentes conversacionais (Dialogflow CX).
Os parâmetros ocultados são apresentados como $parameter-name_redacted
nos registos.
Por exemplo, considere uma entrada do utilizador final de "O meu endereço é 1600 Amphitheatre Parkway" que resulta num parâmetro de morada a ser enviado para "1600 Amphitheatre Parkway". O texto registado vai ser "O meu endereço é $address_redacted".
Para ativar a ocultação de parâmetros:
Consola
Selecione a caixa de verificação Ocultar no registo quando criar ou atualizar um parâmetro.
API
Defina o campo parameters[].redact
como verdadeiro para o tipo Intent
.
Selecione um protocolo e uma versão para a referência de intenção:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso de intenção | Recurso de intenção |
RPC | Interface de intenção | Interface de intenção |
C++ | IntentsClient | Não disponível |
C# | IntentsClient | Não disponível |
Ir | IntentsClient | Não disponível |
Java | IntentsClient | IntentsClient |
Node.js | IntentsClient | IntentsClient |
PHP | Não disponível | Não disponível |
Python | IntentsClient | IntentsClient |
Ruby | Não disponível | Não disponível |
Defina o campo form.parameters[].redact
como verdadeiro para o tipo Page
.
Selecione um protocolo e uma versão para a Referência da página:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso de página | Recurso de página |
RPC | Interface de página | Interface de página |
C++ | PagesClient | Não disponível |
C# | PagesClient | Não disponível |
Ir | PagesClient | Não disponível |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | Não disponível | Não disponível |
Python | PagesClient | PagesClient |
Ruby | Não disponível | Não disponível |
Em alternativa, pode ocultar todos os parâmetros de um tipo de entidade específico.