IBM Cloud Docs
Usando variáveis para gerenciar informações de conversa

Usando variáveis para gerenciar informações de conversa

Quando os clientes respondem ao assistente, eles compartilham informações sobre si mesmos e o que eles querem. O assistente se lembra dessas e de outras informações sobre uma conversa, como variáveis. O assistente pode usar variáveis para fornecer uma experiência mais personalizada e customizada, além de levar os usuários rapidamente às soluções de que precisam.

As variáveis são uma ferramenta poderosa que você pode usar para criar um assistente melhor. As variáveis possibilitam os benefícios a seguir:

  • Personalização. As melhores experiências de assistente virtual são direcionadas e personalizadas para cada cliente. Quando um assistente cumprimenta um cliente dizendo "Olá, Frank! Bem-vindo de volta", ele diz a Frank que se lembra de seu nome e que já conversou com ele antes. Ao armazenar esse tipo de informação em variáveis e mencioná-las na saída do assistente, é possível personalizar a conversa e ajudar o assistente a parecer mais humano.

  • Aceleração. No decorrer de uma conversa, seus clientes respondem a perguntas e fazem escolhas. Essas respostas do cliente são armazenadas como variáveis, as quais seu assistente poderá usar para guiar uma conversa. Ao escolher as etapas corretas e economizar o tempo dos clientes, é possível direcioná-los o mais rápido possível para a solução certa.

  • Modularidade. Algumas informações podem ser úteis para muitas finalidades diferentes (por exemplo, o saldo de conta corrente de um cliente ou informações de contato). Em vez de recuperar ou recalcular essas informações em vários locais, você pode fazer isso uma única vez, usando uma variável para armazenar o resultado e acessá-lo sempre que precisar.

  • Privacidade. A privacidade das informações do cliente é fundamental para todas as empresas Em seu assistente, é possível mascarar as variáveis para proteger a privacidade das informações compartilhadas Ao mascarar uma variável para torná-la privada, o assistente oculta as informações confidenciais na entrada do usuário ou respostas do assistente com asteriscos nos logs de conversa.

O recurso para mascarar as informações confidenciais do cliente está disponível apenas para ações em assistentes.. Se você estiver chamando ações de um diálogo, a configuração de privacidade estará disponível em suas etapas de ação, mas não mascarará as informações do cliente.

Quando a sessão de um usuário expira durante uma conversa na integração de bate-papo da Web, o assistente perde as variáveis privadas mascarados Isso ocorre porque o bate-papo da Web não pode copiar as variáveis para uma nova sessão Para obter mais informações, consulte Copiando o estado de sessão.

Uma variável é simplesmente um contêiner nomeado para uma informação; ao fazer referência a esse contêiner pelo nome, o assistente pode armazenar ou recuperar as informações no tempo de execução. Por exemplo, uma variável chamada account_balance pode armazenar o saldo atual da conta do cliente, um valor que o assistente pode atualizar ou recuperar conforme necessário.

Os dados que são armazenados por uma variável são caracterizados pelo tipo de dados que eles contêm, como texto, um valor numérico, uma data ou até mesmo uma lista de diversos valores. As operações que podem ser executadas com uma variável variam dependendo de seu tipo de dado.

Variáveis de ação e variáveis de sessão

IBM® watsonx™ Assistant suporta duas categorias de variáveis:

  • Variáveis de ação: quando uma etapa coleta informações do cliente, a resposta do cliente é armazenada automaticamente em um variável de ação. Você pode pensar nas variáveis de ação como uma memória de curto prazo: elas persistem apenas durante a ação atual.

    O nome de uma variável de ação é sempre o nome da etapa que define a resposta do cliente. (Não é possível mudar o nome de uma variável de ação.) Por exemplo, suponha que você defina uma etapa que pergunte "Quando você nasceu?" e aceite um valor de data como uma resposta. A resposta do cliente é armazenada automaticamente como uma variável de ação chamada When were you born?, que pode ser acessada em qualquer etapa subsequente na mesma ação.

    É possível tornar uma variável de ação privada selecionando a caixa de seleção Proteger dados coletados nesta etapa nas configurações de resposta do cliente.

  • Variáveis de sessão: um valor que não está necessariamente vinculado a uma determinada ação pode ser armazenado como um variável de sessão. As variáveis de sessão são memória de longo prazo: elas persistem ao longo da interação do usuário com o assistente e o assistente pode referenciá-las em qualquer ação.

    Para deixar o valor disponível para outras ações usarem, é possível criar uma variável de sessão para armazenar o valor de uma variável de ação. Você também pode definir uma variável de sessão com base em outra variável de sessão ou usando um valor definido em uma expressão. Além das variáveis que você cria, o watsonx Assistant fornece um conjunto de variáveis de sessão integradas para valores globais, como a data e o horário atuais.

    Para ocultar as informações confidenciais do cliente nos logs de conversa, é possível marcar a caixa de seleção Proteger dados armazenados nessa variável ao criar ou editar uma variável de sessão.

    As variáveis de sessão podem ajudá-lo a modularizar seu assistente porque você pode escrever uma única ação que coleta informações necessárias em vários lugares. Por exemplo, você pode ter uma ação de saudação que coleta informações básicas sobre o cliente e armazena as respostas em variáveis de sessão que qualquer ação pode acessar.

    Uma variável de sessão criada persiste apenas durante uma única sessão. Ao final da sessão, o valor da variável é limpo. O tempo de duração de uma sessão depende de como os clientes acessam o assistente e como o assistente está configurado.

Criando uma variável de sessão

Para incluir uma variável de sessão que pode ser acessada por qualquer ação:

  1. Na página Ações, clique em Variáveis> Criadas por você A lista mostra todas as variáveis de sessão que você criou para o seu assistente.

  2. Clique em Nova variável.

    Também é possível criar uma nova variável de sessão no editor de etapa. Para obter mais informações, consulte Armazenando um valor em uma variável de sessão.

  3. No campo Nome, digite um nome para a variável de sessão.

    À medida que você inclui o nome, um ID é gerado. Quaisquer espaços no nome são substituídos por sublinhados (_) no ID.

  4. Opcional: inclua um tipo para configurar o tipo de resposta da variável. (Para obter mais informações sobre tipos de resposta, consulte Escolhendo um tipo de resposta.)

    Nesse campo, também é possível selecionar qualquer uma das respostas salvas que você criou. Para obter mais informações sobre respostas salvas, consulte Salvando e reutilizando respostas do cliente..

    Além dos tipos listados, uma variável também pode ser criada como uma matriz.. Para criar uma variável de matriz, selecione Qualquer como o tipo e na próxima etapa, defina um valor inicial que use a expressão [] para representar uma matriz vazia.

  5. Opcional: inclua um valor inicial para configurar o valor inicial da variável no início de cada sessão do usuário. Por exemplo, os seus clientes podem usar um assistente para fazer compras. Você pode inicializar uma variável Pagamento devido com um valor inicial 0 e, em seguida, incluir nesse valor como os itens de pedidos do cliente.

    Para especificar um objeto complexo ou uma matriz como o valor inicial ou calcular o valor inicial com base em outras variáveis, é possível gravar uma expressão. Para obter mais informações sobre a gravação de expressões, consulte Gravando expressões.

  6. Opcional: incluir uma descrição.

  7. Opcional: selecione a caixa de seleção Proteger dados armazenados nesta variável na seção Privacidade se a variável de sessão contiver informações confidenciais.

  8. Clique em Aplicar.

Variáveis Integradas

Além das variáveis que você cria, o watsonx Assistant fornece um conjunto de variáveis integradas que podem ser acessadas em qualquer ação. No tempo de execução, essas variáveis são configuradas automaticamente com os valores apropriados. Por exemplo, a variável de sessão Horário atual sempre fornece o horário atual no fuso horário do usuário no momento da interação com o cliente.

Para ver essas variáveis, selecione Variáveis na página Ações..

  • A página Configurado pelo assistente mostra variáveis de sessão integradas que são fornecidas automaticamente para cada assistente.

  • A página Configurado pela integração mostra variáveis que são fornecidas automaticamente pela integração que o cliente está usando para se conectar ao assistente. (Essas variáveis não serão definidas se nenhuma integração estiver conectada.)

Configurado pelo assistente:

Variáveis configuradas pelo assistente
Nome da Variável ID da variável Descrição Exemplos
Digresso de digressed_from Última ação antes do cliente digressionado (ou nulo se não digressionado) Fatura de pagamento
Agora now A data e o horário atuais no fuso horário do usuário. 2021-08-11T11:28:02
Horário atual current_time O horário atual no fuso horário do usuário. 11:28:02
Data atual current_date A data atual no fuso horário do usuário. 2021-08-11
Razão de fallback fallback_reason O motivo pelo qual um usuário é roteado para a ação de fallback Falha na validação da etapa-Agente solicitado-Nenhuma ação corresponde
Não há contagem de partidas no_action_matches_count Representa uma contagem de tentativas consecutivas de entrada não reconhecidas do cliente 3
Histórico da sessão IBM Cloud session_history As 24 mensagens mais recentes da conversa do cliente. Para obter mais informações, consulte Histórico da Sessão... [{u : 'book a flight', n : true}, {a : 'sure! from where?'}]

Configurado pela integração:

Variáveis configuradas por integração
Nome da Variável ID da variável Descrição Exemplo
Fuso horário timezone O fuso horário do usuário conforme especificado pelo cliente de integração ou API. O fuso horário padrão (se não for especificado pela integração) é o Tempo Universal Coordenado. America/New_York
Código do Idioma locale O código de idioma do usuário conforme configurado pelo cliente de integração ou API. A localidade pode afetar a compreensão e a formatação de datas, horas e números. en-gb
Nome do canal channel_name O nome do canal com que seu usuário está interagindo. Web chat

Armazenando um valor em uma variável de sessão

Qualquer ação pode armazenar um valor em uma variável de sessão para que ele fique disponível para outras ações. Para armazenar um valor em uma variável de sessão:

  1. Em uma etapa, clique em Configurar valores de variáveis.

  2. Clique em Configurar novo valor.

  3. Na lista suspensa Configurar, suas opções são:

    Configurar valores de variáveis
    Escolha Descrição
    Variável de sessão A variável de sessão na qual você deseja armazenar o valor. O novo valor substitui qualquer valor anterior armazenado.
    Variável de integração A variável de sessão na qual você deseja armazenar o valor. O novo valor substitui qualquer valor anterior armazenado.
    expression Grave uma expressão diretamente sem primeiro selecionar uma variável. Para obter mais informações, consulte Gravando expressões.
    + Nova variável de sessão É possível criar uma nova variável de sessão, que é incluída na lista de variáveis de sessão do assistente. Para obter mais informações, consulte Criando uma variável de sessão.
  4. Na lista suspensa Para, as opções variam dependendo do tipo de variável que você está configurando. As opções possíveis incluem:

    Configurar valores de variáveis
    Escolha Descrição
    Valor escalar por tipo Configure um valor específico para cada tipo de variável. A opção varia dependendo do tipo de variável. Por exemplo, para uma variável de data, a opção é Inserir uma data, e é possível usar um selecionador de data para configurar uma data. Outras opções aparecem para Booleano, confirmação, moeda, data, texto livre, número, porcentagem e hora.
    Expressão Escreva uma expressão para definir o valor da variável de sessão. Para obter mais informações sobre expressões, consulte Gravando expressões.
    Variáveis de ação: Selecione uma variável de ação para usar o valor de uma resposta do cliente em outra etapa. As opções listadas correspondem ao tipo de variável que você deseja configurar.
    Variáveis de sessão Selecione outra variável de sessão para usar seu valor. As opções listadas correspondem ao tipo de variável que você deseja configurar.
    Variáveis do assistente: Selecione uma variável do sistema integrada para usar seu valor As opções listadas correspondem ao tipo de variável que você deseja configurar.
    Variáveis de integração. Se você estiver configurando uma variável de integração, será possível escolher outras variáveis de integração como o valor
  5. Para configurar mais valores de variáveis na mesma etapa, clique em Configurar novo valor.

Usando variáveis para gerenciar o fluxo de conversa

Uma das maneiras de se usar variáveis é escolher o caminho correto da conversa com base nas respostas do cliente e em outros valores disponíveis no tempo de execução. Isso pode ser feito definindo as condições da etapa, que determinam se uma etapa específica em uma ação é executada com base em condições de tempo de execução.

Ao definir uma condição baseada em uma variável de ação, é possível controlar se uma etapa é executada com base na resposta do cliente para uma etapa anterior. Também é possível construir condições de etapa com base em variáveis de sessão, que podem armazenar informações de outras ações.

Para obter mais informações sobre as condições da etapa, consulte Definindo condições de etapa.

Usando variáveis para customizar a conversa

Também é possível usar variáveis no que o assistente diz, referenciando dinamicamente informações que foram coletadas durante a conversa. Isso é útil para confirmar informações que o cliente forneceu (por exemplo, You want to transfer $153.14 to your checking account. Is that correct?) e para simplesmente personalizar a conversa para deixá-la mais humana (Hi, John. How can I help you today?).

Para referenciar uma variável no que o assistente diz:

  1. No campo Assistente diz, comece digitando o texto para a resposta.

  2. Ao chegar a um ponto no qual deseja inserir uma referência em uma variável, digite um sinal de dólar ($) ou clique no ícone Inserir uma variável (ícone Inserir uma variável). Uma lista aparece mostrando as variáveis que podem ser escolhidas.

  3. Clique em uma variável para incluir uma referência a ela no texto.

Quando uma variável é referenciada, ela aparece usando um formato padrão na resposta do assistente. O formato da variável pode ser diferente da forma como o valor é armazenado; por exemplo, um valor de data de 2021-08-11 é formatado como August 11, 2021 por padrão.

Os formatos padrão são os seguintes:

Formatos padrão para variáveis
Tipo Formato Exemplos
Opções Como escolhido pelo usuário Yes No
Número Numerais apenas 1000
Data MM DD, AAAA Jun 30, 2021
Hora H:MM:SS AM 5:15:00 PM
Moeda Número apenas, sem símbolo de moeda 20
Porcentagem Número apenas, sem símbolo de porcentagem 20
Texto livre Como inserido pelo usuário Please check that the apples aren't bruised

Ao construir uma resposta do assistente que inclui variáveis, você concatena várias partes (sequências de texto e variáveis). Uma única resposta pode consistir em no máximo 30 partes concatenadas (por exemplo, 15 variáveis com 15 sequências de texto).

Referenciando expressões

Se você precisar fazer referência a um valor dinâmico que é calculado usando uma expressão, primeiro você deve designar esse valor a uma variável de sessão. (Para obter mais informações sobre como fazer isso, consulte Armazenando um valor em uma variável de sessão. É possível então fazer referência à variável de sessão no campo Assistente diz.

Observe que a sintaxe <?...?> para referenciar expressões na saída do assistente não é suportada em ações