Melhorias no desempenho do armazenamento de dados

Este guia fornece recomendações para monitorizar e melhorar o desempenho dos processadores de armazenamento de dados.

Acompanhe o desempenho do seu agente

Pode monitorizar o histórico de conversas dos seus agentes e usar a ferramenta de estatísticas para ver as estatísticas dos agentes.

Execute uma avaliação self-service

Pode executar uma avaliação self-service que avalia a qualidade do agente da sua loja de dados e recomenda alterações.

Melhore as respostas dos agentes

Se encontrar algumas respostas durante os testes que não cumprem as suas expetativas, experimente o seguinte.

Otimização das ferramentas de armazenamento de dados usadas pelos Playbooks

Esta definição acelera a resposta da RAG de um arquivo de dados e melhora a latência ao não reescrever a consulta do utilizador nem preencher dinamicamente os parâmetros da ferramenta. Isto significa que a consulta do utilizador é transmitida ao repositório de dados tal como está e não são preenchidos filtros nem parâmetros relacionados com metadados do utilizador.

Pode ativar esta funcionalidade na consola Dialogflow CX selecionando o manual de procedimentos e, de seguida, clicando no separador Definições. Tem a opção de configurar o Playbook para continuar a processar imediatamente as ações de seguimento ou aguardar a próxima entrada do utilizador final.

Se estiver ativada, as seguintes instruções do Playbook continuam a ser respeitadas:

  • Quando responder à consulta do utilizador com os arquivos de dados.
  • Quando não deve responder à consulta do utilizador com os arquivos de dados e, em alternativa, fornecer uma resposta alternativa.
  • Quaisquer instruções defensivas, como, por exemplo, "não responder a perguntas sobre concorrentes".

Se estiver ativada, as seguintes instruções do manual de soluções são ignoradas. Não ative esta definição se tiver algum dos seguintes requisitos de consulta:

  • Filtros específicos da loja de dados a preencher através das instruções.
  • Instruções para aplicar quaisquer metadados de personalização do utilizador transmitidos por filtros.
  • Quaisquer outras instruções para reescrever a consulta do utilizador antes de consultar o armazenamento de dados.

Lidar com desvios de conversa

Um utilizador final pode fazer perguntas de esclarecimento durante uma conversa. Por exemplo, durante a recolha de informações do cartão de crédito, o cliente pode querer esclarecer o que é um CVV. Neste caso, o agente deve responder à pergunta e voltar a recolher as informações necessárias do cartão de crédito. Para o fazer, pode criar um controlador de armazenamento de dados com armazenamentos de dados que respondam à pergunta, aplicar esse controlador à página inicial do fluxo que processa a recolha de informações do cartão de crédito e definir um destino de transição para que este controlador regresse à "página atual".

Trate de correspondências de intenções indesejadas

Se o seu agente estiver a fazer corresponder intenções quando devia estar a usar um controlador de armazenamento de dados, pode experimentar o seguinte para corrigir esta situação:

  • Elimine ou modifique expressões de preparação vagas para que todas as suas expressões de preparação processem com precisão a intenção desejada e não entrem em conflito com o conteúdo do seu arquivo de dados.
  • Use exemplos negativos para evitar a correspondência de intenções.

Filtragem do armazenamento de dados

Em alguns casos, pode querer que apenas determinados armazenamentos de dados estejam disponíveis para consultas, dependendo dos valores dos parâmetros de sessão. Por exemplo, pode ter arquivos de dados únicos para categorias de produtos. Para realizar a filtragem da loja de dados para categorias de produtos:

  • Defina parâmetros de sessão para categorias de produtos.
  • Crie caminhos de condições que verifiquem os valores dos parâmetros da sessão e façam a transição para uma página específica que tenha o controlador do armazenamento de dados pretendido.
  • O controlador de armazenamento de dados deve voltar à página de chamada, para que a conversa possa continuar.

Personalização

Para tornar as respostas generativas mais relevantes para os utilizadores finais, pode fornecer aos agentes conversacionais (Dialogflow CX) informações sobre os utilizadores.

Estas informações são fornecidas como JSON. Não existe um esquema esperado, por isso, pode definir livremente as propriedades do objeto. Este JSON é enviado para o modelo de linguagem (conteúdo extenso) tal como está, por isso, os nomes e os valores das propriedades descritivas geram os melhores resultados.

Por exemplo:

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

Personalizar com a API

Pode fornecer estes dados a agentes conversacionais (Dialogflow CX) quando envia pedidos de deteção de intenções. Estas informações têm de ser fornecidas em cada pedido detectIntent, porque não são mantidas na sessão.

Indique estas informações no campo queryParams.endUserMetadata no método Sessions.detectIntent.

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
Go 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

Personalizar com o Dialogflow CX Messenger

Pode fornecer estes dados à integração do Dialogflow CX Messenger. Consulte o método setContext.

Configuração da pesquisa

Para ter um melhor controlo sobre o comportamento do agente e melhorar a qualidade das respostas, as configurações de pesquisa são expostas para lhe permitir aumentar, ocultar e filtrar documentos.

Os controlos de amplificação permitem-lhe alterar a classificação dos resultados da pesquisa aplicando um valor de amplificação (superior a zero para uma classificação mais elevada, inferior a zero para uma classificação mais baixa) a documentos específicos.

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

Estas informações são fornecidas como JSON a pedidos de agentes conversacionais (Dialogflow CX). O formato do JSON depende do tipo de controlo de pesquisa.

Controlo de aumento

A configuração de pesquisa seguinte descreve um controlo de aumento:

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

Controlo de filtros

A seguinte configuração de pesquisa descreve um controlo de filtro:

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

Configure a pesquisa com a API

Pode fornecer estes dados a agentes conversacionais (Dialogflow CX) quando envia pedidos de deteção de intenções. Estas informações têm de ser fornecidas em cada pedido detectIntent, porque não são mantidas na sessão.

Indique estas informações no campo queryParams.searchConfig no método Sessions.detectIntent.

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
Go 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

Configure a configuração de pesquisa com o Dialogflow CX Messenger

Pode fornecer estes dados à integração do Dialogflow CX Messenger.

Para aplicar um controlo de pesquisa, tem de adicionar o seguinte fragmento ao código do Messenger quando o incorporar num Website:

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

Consulte o método setQueryParameters.