Controle de entrada do usuário Seleção dinâmica

  • Versão de lançamento: Xanadu
  • Atualizado 12 de ago. de 2024
  • 15 min. de leitura
  • Use o controle de entrada do usuário Seleção dinâmica em um tópico Virtual Agent para criar dinamicamente uma lista de seleções disponíveis para os usuários. Consulte uma tabela ou use um script para criar essas seleções dinamicamente.

    Exibição da lista de seleção

    A lista de Seleção dinâmica contém até 10 itens por página. Quando houver mais de 10 itens, você terá a opção de exibir os itens adicionais e também filtrar os resultados da pesquisa.O aviso da lista de seleção contém um ícone de pesquisa que os usuários podem selecionar para filtrar os resultados.

    Dica:
    Se quiser mudar o número padrão de itens listados por página, modifique a propriedade do sistema com.glide.cs.picker_page_limit. O valor padrão é 10.

    Se a seleção de várias opções estiver ativada, você poderá pesquisar no campo Pesquisar opções para filtrar os resultados da pesquisa. Selecione ou digite todas as opções aplicáveis e selecione o ícone Enviar pelo ícone de seta Enviar. Quando você envia suas escolhas por meio de um LLM (grande modelo de linguagem) habilitado Virtual Agent, o LLM responde se suas escolhas atendem aos critérios de validação.

    Você também pode selecionar uma opção ou opções de uma lista em uma conversa habilitada para LLM inserindo um enunciado na janela de bate-papo. Se não houver correspondência para sua entrada, o Virtual Agent informará que não é uma opção válida e solicitará que você tente uma entrada diferente.

    O controle Seleção dinâmica também dá a opção de adicionar um cartão de cabeçalho que é exibido acima da lista de seleção. Os cartões de cabeçalho são compatíveis com canais da Web e para celular.
    • O cartão de cabeçalho pode conter uma imagem grande ou pequena ou uma placa de vídeo do YouTube, junto com um texto descritivo. A lista de seleção contém até cinco itens por padrão, mas o recurso de pesquisa está suprimido. Se houver mais de cinco itens, os usuários poderão escolher mostrar os itens adicionais.

    • Para controlar o número de itens exibidos abaixo de um cartão de cabeçalho, adicione a propriedade do sistema com.glide.cs.web_header_picker_page_limit. Use o Valor para especificar o número de itens na lista de seleção. Para obter detalhes sobre como criar uma propriedade do sistema, consulte Adição de uma propriedade do sistema.

    Nota:

    Se você preencher um nó de lista de Seleção dinâmica com apenas uma opção, ao testar ou usar o nó, receberá uma mensagem com a mensagem "temos [opção] como [nome do nó], está correto?". Use várias opções no nó da lista Seleção dinâmica para evitar o recebimento desta mensagem.



    Você também pode alterar o conteúdo da mensagem navegando até TUDO > sys_properties.list e editando a propriedade do sistema glide.cs.retry_question_message. O valor desta mensagem é, por padrão, uma cadeia de caracteres . Temos {0} como {1}, está correto? e é usado para preenchimento de slot em vários casos fora da lista de Seleção dinâmica. Todas as mudanças feitas são refletidas em todos os usos desta propriedade.

    Propriedades do controle de entrada do usuário Seleção dinâmica para descoberta de tópico LLM

    Propriedade Descrição
    Nome do nó Nome que identifica este nó de controle do usuário Seleção dinâmica no fluxo do tópico.
    Escolhas
    Preencher opções por Tipo de variável dinâmica a ser usada. Selecione uma das seguintes opções.
    • Registro: retorna registros da tabela selecionada. Os valores para estas opções são objetos GlideRecord.
    • Script: expressão que retorna uma matriz de opções.
      Nota:

      Para obter resultados de retorno de paginação mais eficientes para um grande conjunto de dados ao usar uma expressão de script, revise o script a seguir e determine se você deseja usar este script:

      (function execute() {
       
      var pagingUtil = new global.VirtualAgentChoicePagingUtil(null, "sys_user", null, "user_name,name",
      "active=true", null, vaVars);
       
      var gr = pagingUtil.getPagingGlideRecordSecure("name", false);
      
      var options = pagingUtil.getSecureOptions(gr, null,'user_name', ['user_name','name']);
      
      return options;
      })()
      

      Para obter mais informações sobre os detalhes de script anteriores, revise as informações sobre GlideRecords e as informações adicionais:

      • fieldName: o nome do campo é uma informação opcional. Passar com nulo.
      • table: nome da tabela a ser consultada para exibir as opções disponíveis.
      • pageSize: o tamanho da página é uma informação opcional. Passar com nulo.
      • searchColumns: colunas de tabela em uma lista delimitada por vírgulas que se aplica a qualquer searchText.
      • encodedQuery: consulta inicial a ser aplicada às linhas da tabela. Por exemplo, active=true.
      • searchText: o texto de pesquisa é uma informação opcional. Passar com nulo.
      • vaVars: referência às variáveis de contexto do Virtual Agent (vaVars).
      • orderByColumn: coluna da tabela usada para ordenar as opções.
      • orderDescending: as opções aparecem em ordem decrescente. Somente valores verdadeiro ou falso aceitos.
      • gr: nome do registro do Glide.
      • startRow: a linha inicial é uma informação opcional. Passar com nulo.
      • valueColumn: nome da coluna da tabela a ser usada como o valor de cada opção.
      • labelColumns: matriz de colunas de tabela a serem usadas para cada exibição de opção.
    Tabela Se você selecionou Registro como o método para preencher opções, selecione a tabela que será pesquisada.

    Este campo está disponível somente quando a opção Registro é selecionada.

    Opções de filtro Opção de usar o Construtor de condições Designer do Virtual Agent ou fornecer um script. Selecione uma das seguintes propriedades:
    • Construtor de condições: cria um filtro usado para selecionar um subconjunto de registros da tabela.
    • Script: define a lista de enumeração para a opções (lista de seleção) a serem exibidas. O par de valores de nome é armazenado como um objeto de cadeia de caracteres.

    Este campo está disponível somente quando a opção Registro é selecionada.

    Permitir que o usuário selecione mais de uma opção Opção para permitir que os usuários escolham várias opções na lista de seleção.
    Avançado
    Cabeçalho de cartão

    Ative para abrir um campo e adicionar cartões que podem incluir imagens ou vídeos do YouTube. Para obter mais informações, consulte Inserir um cartão de cabeçalho em um controle de escolha estática ou escolha dinâmica.

    Impor prompt do usuário

    Ative para abrir um campo para exibir uma mensagem personalizada ao usuário em vez da mensagem gerada pelo LLM (Large language model, grande modelo de linguagem). Você pode criar mensagens personalizadas usando linguagem simples, inserir scripts ou definir condições com o seletor de cápsula de dados.

    Validação

    Adicione um script para validar a entrada do usuário. Por exemplo, verifique se o usuário inseriu um endereço de e-mail válido.

    Instruções adicionais para LLM

    Mais instruções para o LLM, como adicionar formatos de dados, restrições ou valores padrão para respostas do usuário. Você pode criar instruções adicionais em linguagem simples, inserir um script ou definir condições com o seletor de cápsula de dados.

    Ocultar ou ignorar este nó
    Mostrar este nó condicionalmente se

    Uma declaração de condição sem código ou script de baixo código que especifica uma condição para apresentar este nó na conversa. A condição deve ser avaliada como verdadeira.

    Permitir que o usuário ignore este nó se

    Uma declaração de condição sem código ou script de baixo código que permite que usuários finais pulem este nó na conversa. A condição deve ser avaliada como verdadeira. Você pode definir este campo usando o construtor de condição ou um script.

    Exemplo do controle de entrada do usuário Seleção dinâmica para descoberta de tópico LLM

    Nota:
    Designer do Virtual Agent os controles podem ser exibidos e funcionar de forma diferente em outros canais.
    Propriedades de entrada Aviso de lista

    As propriedades básicas incluem o nome, a descrição, opções preenchidas por lista e opções de filtragem. As opções avançadas incluem Cartão de cabeçalho, Impor prompt do usuário, Instruções adicionais ao LLM e Ocultar ou ignorar este nó.

    Figura 1. Aviso da lista de Seleção dinâmica na IU da Web
    Uma lista de seleção dinâmica retorna uma lista de incidentes criados pelo usuário.
    A lista de seleção exibe 10 itens por página. Quando 10 ou mais resultados são retornados:
    • A lista inclui um link no final para mostrar mais resultados.
    • Um ícone de pesquisa () é exibido no aviso para filtrar os resultados da pesquisa. Os usuários selecionam o ícone para abrir uma caixa de pesquisa e inserir o filtro.
    • Ao selecionar várias opções, você poderá pesquisar no campo Pesquisar opções para filtrar os resultados da pesquisa. Selecione ou digite todas as opções aplicáveis e selecione o ícone Enviar pelo ícone de seta Enviar. Quando você envia suas escolhas, o LLM responde se suas escolhas atendem aos critérios de validação.

    Propriedades do controle de entrada do usuário Seleção dinâmica para descoberta de tópico NLU

    Propriedade Descrição
    Nome do nó Nome que identifica este nó de controle do usuário Seleção dinâmica no fluxo do tópico.
    Nome da variável Nome da variável que armazena a resposta do usuário a este aviso. O nome da variável é automaticamente criado a partir da propriedade Nome do nó.
    Aviso

    Aviso ou pergunta para o usuário. O aviso pode ser uma cadeia de caracteres de texto ou um script que retorna texto. Este valor é usado somente quando o valor padrão não é especificado. Por exemplo: Qual é o seu nome?

    Você pode criar rich text para alterar o estilo do prompt:
    • Use asteriscos únicos ou sublinhados para gerar texto em itálico. Por exemplo, *text* ou _text_.
    • Use asteriscos ou sublinhados duplos para gerar texto em negrito. Por exemplo, **text** ou __text__.
    • Use asteriscos ou sublinhado triplos para gerar texto em itálico e negrito. Por exemplo, ***texto*** ou ___texto___.
    • Use um hífen espaçado para adicionar um marcador a uma linha. Por exemplo, - texto.
    • Use um colchete angular espaçado e voltado para a direita para criar uma citação em bloco. Por exemplo, > texto.
    • Use de uma a seis cerquilhas para criar cabeçalhos. Por exemplo, #texto# ou ######texto######
    • Use colchetes e parênteses para criar um hiperlink. Por exemplo, [Texto do link](url). Adicione um ponto de exclamação a um hiperlink para exibir uma imagem. Por exemplo, ![texto alternativo](URL da imagem)
    Entidade NLU

    Opção para associar uma entidade de NLU ao nó. Se uma entidade de NLU estiver associada à variável de entrada para esse nó, o Virtual Agent poderá preencher o slot do valor especificado com base no enunciado do usuário. Selecione uma entidade na lista de entidades associadas à intenção do tópico.

    Quando você especifica uma entidade para o nó, o botão de opção "Não solicitar que os usuários confirmem a entidade reconhecida" é exibido. Quando habilitado, os usuários não são solicitados a confirmar a entidade extraída.

    Este campo estará disponível somente quando a descoberta do NLU for habilitada na instância.

    Opções
    Preencher opções por Tipo de variável dinâmica a ser usada. Selecione uma das seguintes opções.
    • Registro: retorna registros da tabela selecionada. Os valores para estas opções são objetos GlideRecord.
    • Script: expressão que retorna uma matriz de opções.
    Tabela Se você selecionou Registro como o método para preencher opções, selecione a tabela que será pesquisada.

    Este campo está disponível somente quando a opção Registro é selecionada.

    Opções de filtro Opção de usar o Construtor de condições Designer do Virtual Agent ou fornecer um script. Selecione uma das seguintes propriedades:
    • Construtor de condições: cria um filtro usado para selecionar um subconjunto de registros da tabela.
    • Script: define a lista de enumeração para a opções (lista de seleção) a serem exibidas. O par de valores de nome é armazenado como um objeto de cadeia de caracteres.

    Este campo está disponível somente quando a opção Registro é selecionada.

    Permitir que o usuário selecione mais de uma opção Opção para permitir que os usuários escolham várias opções na lista de seleção.
    Nenhuma mensagem de resposta de registros Mensagem exibida ao usuário quando a pesquisa da tabela não retorna nenhum registro. A mensagem pode ser uma cadeia de caracteres de texto ou um script que retorna texto.
    Avançado
    Cartão de cabeçalho

    Ative para abrir um campo e adicionar cartões que podem incluir imagens ou vídeos do YouTube. Para obter mais informações, consulte Inserir um cartão de cabeçalho em um controle de escolha estática ou escolha dinâmica.

    Valor padrão
    Valor Padrão

    Valor predefinido para a resposta do usuário à pergunta ou ao prompt. A resposta definida no campo Confirmação de valor padrão solicita que o usuário confirme o valor padrão. Se o usuário responder com não, o valor se tornará nulo. A valor padrão pode ser uma cadeia de caracteres de texto ou um script que retorna texto. Por exemplo, se você estiver usando a referência com pontos, o valor padrão poderá ser: Variáveis de script> Último nome de usuário. Ou, se você estiver usando um script, o valor padrão poderá ser: {{vaScripts.lastUsername}}.

    Mensagens de confirmação
    Confirmação de conclusão de entrada

    Resposta do bot mostrada ao usuário quando a interação do nó é concluída. A mensagem pode ser uma cadeia de caracteres de texto ou um script que retorna texto. Por exemplo, se você estiver usando a referência com pontos: Obrigado, (Variáveis de entrada> Nome de usuário)! Ou, se você estiver usando um script, a confirmação poderá ser: Agradecemos, {{vaInputs.username}}!

    Confirmação de valor padrão

    Mensagem que solicita ao usuário que verifique se o valor no campo Valor padrão está correto. Esta mensagem é usada em vez de um valor no campo Aviso. Pode conter uma cadeia de caracteres de texto ou um script que retorna texto. Por exemplo, se você estiver usando a referência com pontos: Você é, (Variáveis de entrada> Nome de usuário)? Ou, se você estiver usando um script, o valor padrão poderá ser: Você é{{vaScripts.lastUsername}}?.

    Mudança de conversa
    Esta seção estará disponível somente quando a descoberta de NLU for ativada na instância.
    Ative para permitir que os usuários mudem o assunto

    Opção para ativar a previsão de NLU para esse nó. Quando essa opção está ativada, os usuários podem inserir texto para responder a perguntas, independentemente do tipo de controle de entrada em uso. O Virtual Agent usa esse enunciado para corresponder a outra intenção existente, permitindo que o usuário alterne tópicos.

    Ocultar ou ignorar este nó
    Mostrar este nó condicionalmente se

    Uma declaração de condição sem código ou script de baixo código que especifica uma condição para apresentar este nó na conversa. A condição deve ser avaliada como verdadeira.

    Permitir que o usuário ignore este nó se

    Uma declaração de condição sem código ou script de baixo código que permite que usuários finais pulem este nó na conversa. A condição deve ser avaliada como verdadeira. Você pode definir este campo usando o construtor de condição ou um script.

    Ignorar nova solicitação se Uma declaração de condição sem código ou script de baixo código que permite que usuários finais pulem a criação de novos prompts na conversa. Quando um nó anterior for revisitado por meio de um loopback de tópico ou de um Ato de diálogo, o Virtual Agent ignorará esse nó e manterá seu valor original automaticamente.

    Exemplo do controle de entrada do usuário Seleção dinâmica para descoberta de tópico NLU

    Nota:
    Designer do Virtual Agent os controles podem ser exibidos e funcionar de forma diferente em outros canais.
    Propriedades de entrada Aviso de lista
    Figura 2. Propriedades básicas do controle de entrada do usuário Seleção dinâmica
    As propriedades básicas incluem o nome do nó, o prompt, a entidade NLU e as opções Preencher por lista.
    Figura 3. Aviso da lista de Seleção dinâmica na IU da Web
    Uma lista de seleção dinâmica retorna uma lista de incidentes criados pelo usuário.
    A lista de seleção exibe 10 itens por página. Quando 10 ou mais resultados são retornados:
    • A lista inclui um link no final para mostrar mais resultados.
    • Um ícone de pesquisa () é exibido no aviso para filtrar os resultados da pesquisa. Os usuários selecionam o ícone para abrir uma caixa de pesquisa e inserir o filtro.
    • Ao selecionar várias opções, você poderá pesquisar no campo Pesquisar opções para filtrar os resultados da pesquisa. Se você inserir o script para habilitar campos secundários encontrados neste tópico, os resultados do filtro de pesquisa também se aplicarão aos campos secundários. Selecione ou insira todas as opções aplicáveis e selecione o ícone de envio Ícone de setapara envio .
    Figura 4. Aviso de lista de Seleção dinâmica na IU da Web com cartão de cabeçalho
    O prompt pergunta: "O que você deseja verificar?" seguido por uma foto e título de um hotel. As opções incluem Refeições, Pacotes e Instalações.
    A lista de seleção contém cinco itens por página. Quando cinco ou mais resultados são retornados, a lista fornece uma opção para mostrar mais resultados.
    Nota:
    O recurso de pesquisa é suprimido quando um cartão de cabeçalho é usado.

    Exemplos de script Seleção dinâmica

    O exemplo de script a seguir pode ser usado no campo Definir opções somente se o valor de Preencher opção por estiver definido como Script. Este script permite que os solicitantes vejam suas escolhas selecionadas anteriormente se optarem por editar suas escolhas posteriormente na conversa. Este script também exibe campos secundários para os solicitantes, como um endereço de e-mail, marcador de gênero ou ambos, para ajudá-los a diferenciar ainda mais as opções disponíveis. Exibir o campo secundário para os solicitantes pode ser especialmente útil ao lidar com valores semelhantes, como selecionar o nome correto do funcionário ao trabalhar com nomes iguais ou semelhantes (ou seja, Cristóbano Smith ou Cris Smith).
    (function execute() {
        var pagingUtil = new global.VirtualAgentChoicePagingUtil(null, "sys_user", 10, "user_name,name",
          "active=true", null, vaVars);
        var selectedOptions = pagingUtil.getSavedSelectedOptions("user", vaSystem);
        if (!selectedOptions || selectedOptions.length == 0) {
          // Secondary labels can be passed to selected options
           selectedOptions.push({ "value": "abel.tuter", "label": "Abel Tuter"
            ,"secondary_label": ["abel.tuter@example.com", "male"]
            });
           selectedOptions.push({ "value": "Beth.anglin", "label": "Beth Anglin"
            ,"secondary_label": ["beth.anglin@example.com", "female"] 
            });
        }
        vaSystem.setSelectedOptions(selectedOptions, "user", false);
        // Topic authors have the ability to define which values should go in the 
        // secondary labels by adding secondary label functions
        pagingUtil.addSecondaryLabelFunction(function (gr) {
          return gr.getValue("email");
        });
        pagingUtil.addSecondaryLabelFunction(function (gr) {
          return gr.getValue("gender");
        });
        var gr = pagingUtil.getPagingGlideRecordSecure("name", false);
        var options = pagingUtil.getSecureOptions(gr, null,'user_name', ['user_name']);
        return options;
    })()

    Exemplo de expressão de valor da lista de Seleção dinâmica

    (function execute(table) {
            var options = [];
            var gr = new GlideRecordSecure(table);
            gr.addEncodedQuery('active=true');
            gr.setLimit(5);
            gr.query();
            while(gr.next()) {
                options.push({ 'value': gr.getUniqueValue(), 'label': gr.getValue('short_description') });
            }
            return options;
    })(table)
    

    O script na propriedade Expressão de valor da seleção define e retorna uma matriz de opções. No exemplo, o script cria uma matriz chamada opções e adiciona cada registro encontrado em uma consulta GlideRecord a esta matriz. Cada elemento na matriz recebe um valor nas chaves de valor e rótulo usando dados desse GlideRecord. A propriedade Tabela do controle define a tabela usada pelo script. Este script de exemplo usa gr.setLimit(5) para limitar o número de registros retornados a 5. O uso deste método ajuda a impedir que os registros retornados criem uma lista de seleção muito grande.

    Tabela 1. Chaves de expressão de valor do controle Seleção dinâmica
    Chave Descrição
    valor O valor para a opção. Quando um usuário seleciona uma opção no controle, este valor é armazenado na variável nomeada na propriedade Nome da variável.
    rótulo O rótulo que aparece para esta opção na lista de seleção.

    Suporte ao canal

    Tabela 2. Suporte ao canal para o controle de entrada do usuário Seleção dinâmica
    Canal Suporte Restrições
    IU da Web Com suporte Nenhum
    IU para celular Com suporte Nenhum
    Painel do Now Assist Com suporte Nenhum
    Microsoft Teams Com suporte Nenhum
    Slack Com suporte Não há suporte para cartões de cabeçalho.
    Workplace Com suporte Não há suporte para cartões de cabeçalho.
    Facebook Messenger Sem suporte Não aplicável
    SMS Twilio Com suporte Não há suporte para cartões de cabeçalho.
    LINE Sem suporte Não aplicável
    WhatsApp Com suporte Nenhum
    Apple Messages for Business Com suporte Nenhum
    Alexa (Serviços de voz) Com suporte Para dispositivos de tela, use a rolagem de toque; não há suporte para clicar em links. Para dispositivos que não são de tela, use a paginação por voz.