Avaliações do guia interativo

Este guia explica como usar a funcionalidade de avaliações integrada na consola do Dialogflow CX para validar a funcionalidade do seu agente e evitar regressões após atualizações. O Dialogflow oferece métricas prontas a usar para ajudar a avaliar o desempenho do seu agente.

Todas as métricas, exceto a latência, requerem, pelo menos, um cenário de teste, uma "resposta ideal" com a qual o Dialogflow compara o desempenho do agente para calcular o respetivo desempenho. Cada exemplo de teste pode ser medido no contexto de um ambiente, o que lhe permite especificar diferentes versões de manuais de procedimentos, fluxos e ferramentas a usar na avaliação do desempenho do agente.

(Opcional) Crie um ambiente

A criação de um ambiente é opcional. Se não criar um, o valor predefinido é Rascunho.

  1. Para criar um ambiente, clique em Ambientes no menu do lado esquerdo e selecione + Criar.
  2. Escolha as versões dos manuais de soluções, fluxos e ferramentas que quer usar para medir o desempenho do agente.
  3. Clique em Guardar para guardar o ambiente.

Crie um exemplo de teste

Tem a opção de criar um exemplo de teste a partir de uma conversa existente no seu histórico de conversas, criar uma nova conversa para guardar como um exemplo de teste ou importar exemplos de teste para o Dialogflow.

Crie um exemplo de teste na consola

  1. Navegue para Histórico de conversas no menu do lado esquerdo.
  2. Para criar uma nova conversa, ative o seu agente (por exemplo, ligando para o número de telefone do agente) para criar uma conversa no histórico de conversas. Quando tiver uma conversa que quer usar como exemplo de teste, selecione-a.
  3. Veja a conversa e valide as respostas do agente, as ferramentas invocadas e o som de cada resposta. Quando estiver satisfeito, clique em Criar exemplo de teste no canto superior direito da janela.
  4. Indique um nome a apresentar para o exemplo de teste e especifique as suas expetativas de eventos que devem ocorrer ao nível da conversa. Isto pode incluir ferramentas, manuais de instruções e fluxos que espera que sejam chamados na conversa. Clique em +Adicionar expetativa para adicionar mais expetativas. Para que as expetativas sejam avaliadas por ordem sequencial, conforme indicado (de cima para baixo), ative/desative a opção Validação sequencial.
  5. Clique em Guardar para guardar o exemplo de teste.

Carregue casos de teste

  1. Os exemplos de teste têm de estar no seguinte formato CSV.
  2. Para carregar exemplos de teste para o sistema, clique em Importar na parte superior do menu de exemplos de teste.
  3. No menu apresentado, selecione o ficheiro armazenado localmente ou introduza o caminho para o respetivo contentor do Cloud Storage.
  4. Os seus exemplos de teste devem agora aparecer no menu de exemplos de teste.

Execute um caso de teste

  1. Clique em Casos de teste no menu do lado esquerdo e selecione os casos de teste com os quais quer comparar o seu agente. Pode ser um único caso de teste ou vários.
  2. Clique em Executar casos de teste selecionados.

Resultados do teste

  1. Aceda aos resultados: os resultados da execução do teste mais recente são apresentados para cada cenário de teste na vista Cenário de teste após a conclusão:
    1. Semelhança semântica: mede a semelhança das conversas do agente com a "resposta ideal" (respostas no conjunto de testes). São necessárias respostas de ouro para receber esta métrica. Os valores podem ser 0 (inconsistente), 0,5 (algo consistente) ou 1 (muito consistente).
    2. Precisão da chamada de ferramentas: um valor que reflete a fidelidade com que a conversa inclui as ferramentas que se espera que sejam invocadas durante a conversa. Os valores variam entre 0 e 1. Se não forem usadas ferramentas na conversa, a precisão é apresentada como -- (N/A).
    3. Latência: o tempo total que o agente demora a processar um pedido do utilizador final e a responder ao utilizador (a diferença entre o fim da expressão do utilizador e o início da resposta do agente). As unidades estão em segundos.
  2. Atualize o exemplo de teste de referência: se a execução mais recente refletir as alterações esperadas devido a uma atualização do agente, pode clicar em "Guardar como referência" para substituir o exemplo de teste original.
  3. Filtrar e ordenar resultados: pode filtrar e ordenar os resultados da avaliação por qualquer uma das métricas geradas ou por um ambiente específico. Isto é útil para acompanhar as alterações no desempenho após cada atualização.

Formatação de casos de teste de importação em lote

Esta secção descreve como formatar um ficheiro CSV para importar exemplos de testes em lote para o seu agente. O sistema lê este ficheiro para criar um conjunto estruturado de exemplos de teste, cada um contendo uma ou mais interações de conversa.

Um único exemplo de teste pode abranger várias linhas no ficheiro CSV. A primeira linha de um caso de teste define as respetivas propriedades gerais (como o nome e o idioma). Cada linha subsequente para esse exemplo de teste define uma única interação de vai e vem na conversa (o utilizador diz algo e espera-se que o agente responda).

O ficheiro CSV tem de ter uma linha de cabeçalho como primeira linha. Este cabeçalho define os dados em cada coluna.

Cabeçalhos obrigatórios

Os dois cabeçalhos obrigatórios têm de estar na ordem apresentada. Ambos são necessários para a primeira linha de um novo exemplo de teste. Pode iniciar um novo exemplo de teste fornecendo novos valores de DisplayName e LanguageCode.

  • DisplayName: o nome do seu caso de teste. Este campo só é preenchido para a primeira linha de um novo exemplo de teste.
  • LanguageCode: O código do idioma para o teste (por exemplo, en, en-US, es).

Cabeçalhos opcionais

Pode incluir qualquer um dos seguintes cabeçalhos opcionais para fornecer mais detalhes para os seus casos de teste. Podem estar em qualquer ordem após as duas primeiras colunas obrigatórias.

Metadados de casos de teste

  • Etiquetas: etiquetas separadas por espaços para organizar testes (por exemplo, "payments onboarding").
  • Notas: notas de texto livre ou uma descrição da finalidade do exemplo de teste.
  • TestCaseConfigV2.StartResource: especifique o fluxo ou o guia para iniciar o teste.

Introdução do utilizador

  • UserInput.Input.Text: o texto que o utilizador "escreve" para uma determinada interação.
  • UserInput.InjectedParameters: parâmetros a injetar na conversa no início de uma interação, formatados como uma string JSON.

Resultado do agente

  • AgentOutput.QueryResult.ResponseMessages.Text: O texto exato com que afirma que o agente respondeu.
  • AgentOutput.QueryResult.Parameters: Os parâmetros que afirma terem sido extraídos pelo agente, formatados como uma string JSON.

Expetativas

  • OrderedExpectations.ExpectedFlow: O fluxo que espera que esteja ativo após a viragem.
  • OrderedExpectations.ExpectedIntent: a intenção que espera que seja correspondida para o turno.
  • OrderedExpectations.ExpectedAgentReply: o texto com que espera que o agente responda. Pode ser uma substring da resposta completa.
  • OrderedExpectations.ExpectedOutputParameter: Os parâmetros que espera que sejam definidos no final da interação, formatados como uma string JSON.

Metadados de áudio

  • AudioTurnMetadata Metadados para testes baseados em áudio, formatados como uma string JSON.

Crie um caso de teste

Os exemplos de teste estão organizados por linhas de dados.

  1. Para iniciar um novo exemplo de teste, preencha a respetiva linha de metadados.
    • Regra: esta linha tem de ter um valor na coluna DisplayName.
    • Ação: introduza valores para DisplayName e LanguageCode. Também pode adicionar etiquetas, notas ou um TestCaseConfigV2.StartResource nesta linha. As colunas de turnos de conversa (como UserInput.Input.Text) devem ser deixadas vazias nesta linha. Se usar etiquetas, separe cada etiqueta com um espaço. Exemplo: tag1 tag2 tag3. Se usar TestCaseConfigV2.StartResource, adicione o prefixo start_flow: ou start_playbook: ao nome do recurso. Exemplo: start_flow:projects/p/locations/l/agents/a/flows/f.
  2. Adicione uma interação conversacional ao exemplo de teste que acabou de iniciar adicionando uma nova linha imediatamente abaixo.
    • Regra: a coluna DisplayName tem de estar vazia. Isto indica ao analisador que se trata de um turno pertencente ao exemplo de teste anterior.
    • Ação: preencha as colunas que descrevem a ação do utilizador e a resposta esperada do agente para esta interação, como UserInput.Input.Text e OrderedExpectations.ExpectedAgentReply. Para colunas que requerem JSON, tem de fornecer um objeto JSON válido como uma string. Exemplo: {"param_name": "param_value", "number_param": 123}.