Melhorias no desempenho do repositório de dados

Este guia oferece recomendações para monitorar e melhorar o desempenho dos processadores de repositório de dados.

Acompanhar a performance do seu agente

É possível monitorar o histórico de conversas dos seus agentes e usar a ferramenta de análise para conferir as estatísticas deles.

Executar avaliação por autoatendimento

Você pode executar a avaliação por autoatendimento, que avalia a qualidade do agente de repositório de dados e recomenda mudanças.

Melhorar as respostas dos agentes

Se você encontrar algumas respostas durante o teste que não atendem às suas expectativas, tente o seguinte.

Otimização das ferramentas de repositório de dados usadas pelos Playbooks

Essa configuração acelera a resposta de RAG de um repositório de dados e melhora a latência, sem reescrever a consulta do usuário nem preencher dinamicamente os parâmetros da ferramenta. Isso significa que a consulta do usuário é transmitida à loja de dados como está, e nenhum filtro ou parâmetro relacionado a metadados do usuário é preenchido.

Para ativar esse recurso no console do Dialogflow CX, selecione o playbook e clique na guia Configurações. Você tem a opção de configurar o Playbook para continuar processando as ações de acompanhamento imediatamente ou aguardar a próxima entrada do usuário final.

Se ativadas, as seguintes instruções do playbook ainda serão válidas:

  • Quando responder à consulta do usuário usando os repositório de dados.
  • Quando não responder à consulta do usuário usando os repositório de dados e, em vez disso, fornecer uma resposta alternativa.
  • Qualquer instrução defensiva, como, por exemplo, "não responda perguntas sobre concorrentes".

Se ativada, as instruções do playbook a seguir serão ignoradas. Não ative essa configuração se você tiver algum dos seguintes requisitos de consulta:

  • Filtros específicos do repositório de dados a serem preenchidos usando as instruções.
  • Instruções para aplicar os metadados de personalização do usuário transmitidos por filtros.
  • Qualquer outra instrução para reescrever a consulta do usuário antes de consultar o armazenamento de dados.

Lidar com digressões na conversa

Um usuário final pode fazer perguntas para esclarecer dúvidas durante uma conversa. Por exemplo, durante a coleta de informações do cartão de crédito, eles podem querer esclarecer o que é um CVV. Nesse caso, o agente precisa responder à pergunta e voltar a coletar as informações necessárias do cartão de crédito. Para fazer isso, crie um gerenciador de repositório de dados com repositórios que respondam à pergunta, aplique esse gerenciador à página inicial do fluxo que processa a coleta de informações do cartão de crédito e defina um destino de transição para que esse gerenciador retorne à "página atual".

Processar correspondências de intents indesejadas

Se o agente estiver correspondendo a intents quando deveria usar um gerenciador de repositório de dados, tente o seguinte para corrigir isso:

  • Exclua ou modifique frases de treinamento vagas, para que todas elas processem com precisão a intenção desejada e não entrem em conflito com o conteúdo do repositório de dados.
  • Use exemplos negativos para evitar a correspondência de intent.

Filtragem de repositório de dados

Em alguns casos, é possível que você queira que apenas alguns repositórios de dados estejam disponíveis para consultas, dependendo dos valores dos parâmetros de sessão. Por exemplo, você pode ter repositórios de dados exclusivos para categorias de produtos. Para filtrar os repositório de dados de categorias de produtos:

  • Definir parâmetros de sessão para categorias de produtos.
  • Crie rotas de condição que verifiquem os valores dos parâmetros de sessão e façam a transição para uma página específica com o gerenciador de repositório de dados desejado.
  • O gerenciador do repositório de dados precisa voltar para a página de chamada para que a conversa continue.

Personalização

Para tornar as respostas generativas mais relevantes para os usuários finais, forneça informações sobre eles aos agentes de conversação (Dialogflow CX).

Essas informações são fornecidas como JSON. Não há um esquema esperado, então você pode definir as propriedades do objeto. Esse JSON é enviado ao modelo de linguagem grande como está, portanto, nomes e valores de propriedades descritivos levam aos melhores resultados.

Exemplo:

{
  "subscription plan": "Business Premium Plus",
  "devices owned": [
    {"model": "Google Pixel 7"},
    {"model": "Google Pixel Tablet"}
  ]
}

Como personalizar com a API

Você pode fornecer esses dados aos agentes de conversação (Dialogflow CX) ao enviar solicitações de detecção de intent. Essas informações precisam ser fornecidas em cada solicitação de detecção de intent, porque elas não são mantidas na sessão.

Forneça essas informações no campo queryParams.endUserMetadata no método Sessions.detectIntent.

Selecione um protocolo e uma versão para a referência de sessão:

Protocolo V3 V3beta1
REST Recurso da sessão Recurso da sessão
RPC (remote procedure call) Interface da sessão Interface da sessão
C++ SessionsClient Indisponível
C# SessionsClient Indisponível
Go SessionsClient Indisponível
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP Indisponível Indisponível
Python SessionsClient SessionsClient
Ruby Indisponível Indisponível

Personalização com o Dialogflow CX Messenger

Você pode fornecer esses dados à integração do Dialogflow CX Messenger. Consulte o método setContext.

Configuração da pesquisa

Para ter mais controle sobre o comportamento do agente e melhorar a qualidade das respostas, as configurações de pesquisa de destaque e filtro são expostas para que você possa destacar, ocultar e filtrar documentos.

Os controles de otimização permitem mudar a classificação dos resultados da pesquisa aplicando um valor de otimização (maior que zero para classificação mais alta, menor que zero para classificação mais baixa) a documentos específicos.

Os controles de filtro permitem manter ou remover resultados da pesquisa com base nos critérios de filtro especificados.

Essas informações são fornecidas como JSON para solicitações de agentes de conversação (Dialogflow CX). O formato do JSON depende do tipo de controle de pesquisa.

Controle de otimização

A configuração de pesquisa a seguir descreve um controle de aumento:

"searchConfig": {
  "boostSpecs": [
    {
      "dataStores": [ "DATASTORE_ID" ],
      "spec": [
        {
          "conditionBoostSpecs": {
            "condition": "CONDITION",
            "boost": "1.0"
          }
        }
      ]
    }
  ]
}

Controle de filtro

A configuração de pesquisa a seguir descreve um controle de filtro:

"searchConfig": {
  "filterSpecs": [
    {
      "dataStores": [ "DATASTORE_ID" ],
      "filter": "CONDITION"
    }
  ]
}

Configurar a pesquisa com a API

Você pode fornecer esses dados aos agentes de conversação (Dialogflow CX) ao enviar solicitações de detecção de intent. Essas informações precisam ser fornecidas em cada solicitação de detecção de intent, porque elas não são mantidas na sessão.

Forneça essas informações no campo queryParams.searchConfig no método Sessions.detectIntent.

Selecione um protocolo e uma versão para a referência de sessão:

Protocolo V3 V3beta1
REST Recurso da sessão Recurso da sessão
RPC (remote procedure call) Interface da sessão Interface da sessão
C++ SessionsClient Indisponível
C# SessionsClient Indisponível
Go SessionsClient Indisponível
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP Indisponível Indisponível
Python SessionsClient SessionsClient
Ruby Indisponível Indisponível

Configurar a pesquisa com o Dialogflow CX Messenger

Você pode fornecer esses dados à integração do Dialogflow CX Messenger.

Para aplicar um controle de pesquisa, o snippet a seguir precisa ser adicionado ao código do Messenger ao incorporá-lo a um site:

<script>
  document.addEventListener('df-messenger-loaded', () => {
    const dfMessenger = document.querySelector('df-messenger');
    const searchConfig = { ... }
    dfMessenger.setQueryParameters(searchConfig);
  });
</script>

Consulte o método setQueryParameters.