Testar a base de dados de conhecimento no QnA Maker
Testar a base de conhecimento do QnA Maker é uma parte importante de um processo iterativo para melhorar a precisão das respostas que estão sendo retornadas. É possível testar a base de dados de conhecimento por meio de uma interface de chat avançada que também permite fazer edições.
Observação
O serviço de QnA Maker está sendo desativado no dia 31 de março de 2025. Uma versão mais recente da funcionalidade de perguntas e respostas agora está disponível como parte da Linguagem de IA do Azure. Para saber mais sobre o recurso de respostas às perguntas no Serviço de Linguagem, confira respostas às perguntas. A partir de 1º de outubro de 2022, você não poderá criar novos recursos de QnA Maker. Para obter informações sobre como migrar bases de dados de conhecimento do QnA Maker existentes para responder perguntas, consulte o guia de migração.
Testar interativamente no portal do QnA Maker
- Acesse a base de dados de conhecimento, selecionando o nome na página Minhas bases de dados de conhecimento.
- Para acessar o painel deslizante de Teste, selecione Testar no painel superior do aplicativo.
- Insira uma consulta na caixa de texto e selecione Enter.
- A resposta da melhor correspondência da base de dados de conhecimento é retornada como a resposta.
Limpar painel de teste
Para limpar todas as consultas de teste inseridas e seus resultados do console de teste, selecione Iniciar de novo no canto superior esquerdo do Painel de teste.
Fechar painel de teste
Para fechar o painel de Teste, selecione o botão Testar novamente. Enquanto o painel de Teste estiver aberto, não será possível editar o conteúdo da Base de Dados de Conhecimento.
Inspecionar pontuação
Inspecione detalhes do resultado do teste no painel Inspecionar.
Com o painel deslizante de Teste aberto, selecione Inspecionar para obter mais detalhes sobre essa resposta.
O painel de Inspeção é exibido. O painel inclui a principal intenção de pontuação e as entidades identificadas. O painel mostra o resultado da declaração selecionada.
Corrigir a resposta de pontuação máxima
Se a resposta de pontuação mais alta estiver incorreta, selecione a resposta correta na lista e selecione Salvar e Treinar.
Adicionar perguntas alternativas
É possível adicionar formas alternativas de uma pergunta a uma determinada resposta. Digite as respostas alternativas na caixa de texto e pressione Enter para adicioná-las. Selecione Salvar e Treinar para armazenar as atualizações.
Adicionar uma nova resposta
Você poderá adicionar uma nova resposta, se alguma das respostas existentes que foram correspondidas estiver incorreta ou a resposta não existir na base de dados de conhecimento (nenhuma boa correspondência encontrada na base de dados de conhecimento).
Na parte inferior da lista de respostas, use a caixa de texto para digitar uma nova resposta e pressione Enter para adicioná-la.
Selecione Salvar e Treinar para persistir essa resposta. Um novo par de perguntas e respostas foi adicionado à base de dados de conhecimento.
Observação
Todas as edições da base de dados de conhecimento somente serão salvas quando você pressionar o botão Salvar e Treinar.
Testar a base de dados de conhecimento publicada
É possível testar a versão publicada da base de dados de conhecimento no painel de teste. Depois de publicar, marque a caixa Base de dados de conhecimento publicada e envie uma consulta para obter os resultados da base de dados de conhecimento publicada.
Teste em lote com a ferramenta
Use a ferramenta de teste em lote quando quiser:
- determinar a resposta principal e a pontuação de um conjunto de perguntas;
- validar a resposta esperada para o conjunto de perguntas.
Pré-requisitos
- Assinatura do Azure - criar uma gratuitamente
- Crie um serviço do QnA Maker ou use um serviço existente, que usa o idioma inglês.
- Baixar o arquivo
.docx
de exemplo de vários turnos - Baixe a ferramenta de teste em lotes e extraia o arquivo executável do arquivo
.zip
.
Entrar no portal do QnA Maker
Entre no portal do QnA Maker.
Criar uma base de dados de conhecimento por meio do arquivo .docx de exemplo de vários turnos
Selecione Criar uma base de dados de conhecimento na barra de ferramentas.
Ignore a Etapa 1 porque você já deve ter um recurso do QnA Maker, passando para a Etapa 2 para selecionar suas informações de recurso existentes:
- ID do Microsoft Entra
- Nome da Assinatura do Azure
- Nome do Serviço QnA do Azure
- Idioma – o idioma inglês
Insira o nome
Multi-turn batch test quickstart
como o nome da sua base de dados de conhecimento.Na Etapa 4, defina as configurações com a seguinte tabela:
Configuração Valor Habilitar a extração de vários turnos de URLs, arquivos .pdf ou .docx. Verificado Texto de resposta padrão Batch test - default answer not found.
+ Adicionar Arquivo Selecione a listagem de arquivos .docx
baixada nos pré-requisitos.Bate-papo Selecione Professional Na Etapa 5, selecione Criar sua KB.
Quando o processo de criação for concluído, o portal exibirá a base de dados de conhecimento editável.
Salvar, treinar e publicar a base de dados de conhecimento
Selecione Salvar e Treinar na barra de ferramentas para salvar a base de dados de conhecimento.
Selecione Publicar na barra de ferramentas e, em seguida, selecione Publicar novamente para publicar a base de dados de conhecimento. A publicação disponibiliza a base de dados de conhecimento para consultas de um ponto de extremidade de URL pública. Quando a publicação for concluída, salve as informações de chave do ponto de extremidade e URL do host mostradas na página Publicar.
Dados necessários Exemplo Host publicado https://YOUR-RESOURCE-NAME.azurewebsites.net
Chave publicada XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
(cadeia de 32 caracteres mostrada apósEndpoint
)ID do Aplicativo xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
(cadeia de 36 caracteres mostrada como parte dePOST
)
Criar arquivo de teste de lote com IDs de pergunta
Para usar a ferramenta de teste de lote, crie um arquivo chamado batch-test-data-1.tsv
com um editor de texto. O arquivo deve estar no formato UTF-8 e precisa ter as colunas a seguir separadas por uma tabulação.
Campos do arquivo de entrada TSV | Observações | Exemplo |
---|---|---|
ID da base de dados de conhecimento | Sua ID da base de dados de conhecimento foi encontrada na página Publicar. Teste várias bases de dados de conhecimento no mesmo serviço de uma só vez em um arquivo usando IDs de base de dados de conhecimento diferentes em um arquivo. | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (cadeia de 36 caracteres mostrada como parte de POST ) |
Pergunta | O texto da pergunta que um usuário digitaria. Tamanho máximo de 1.000 caracteres. | How do I sign out? |
Marcas de metadados | opcional | topic:power usa o formato de key:value |
Parâmetro superior | opcional | 25 |
ID de resposta esperada | opcional | 13 |
Nessa base de dados de conhecimento, adicione três linhas ao arquivo, pertencentes apenas às duas colunas necessárias. A primeira coluna é sua ID da base de dados de conhecimento e a segunda coluna deve ser a seguinte lista de perguntas:
Coluna 2 – perguntas |
---|
Use Windows Hello to sign in |
Charge your Surface Pro 4 |
Get to know Windows 10 |
Essas perguntas são redigidas exatamente do mesmo modo que aquelas na base de dados de conhecimento e devem retornar uma pontuação de confiança igual a 100.
Em seguida, adicione outras perguntas semelhantes a essas, mas não idênticas, em mais três linhas, usando a mesma ID da base de dados de conhecimento:
Coluna 2 – perguntas |
---|
What is Windows Hello? |
How do I charge the laptop? |
What features are in Windows 10? |
Cuidado
Verifique se cada coluna está separada apenas por um delimitador de tabulação. Espaços à esquerda ou à direita são adicionados aos dados da coluna e fazem com que o programa gere exceções quando o tipo ou o tamanho está incorreto.
O arquivo de teste de lote, quando aberto no Excel, é semelhante à imagem a seguir. A ID da base de dados de conhecimento foi substituída por xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
por questões de segurança. Para seu teste de lote, verifique se a coluna exibe sua ID da base de dados de conhecimento.
Testar o arquivo em lotes
Execute o programa de teste de lote usando o formato de CLI a seguir na linha de comando.
Substitua YOUR-RESOURCE-NAME
e ENDPOINT-KEY
pelos seus valores para nome do serviço e chave do ponto de extremidade. Esses valores são encontrados na página Configurações no portal do QnA Maker.
batchtesting.exe batch-test-data-1.tsv https://YOUR-RESOURCE-NAME.azurewebsites.net ENDPOINT-KEY out.tsv
O teste é concluído e gera o arquivo out.tsv
:
A ID da base de dados de conhecimento foi substituída por xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
por questões de segurança. Para seu teste de lote, a coluna exibe sua ID da base de dados de conhecimento.
A saída de teste de pontuação de confiança, na quarta coluna, mostra que as três primeiras perguntas retornaram uma pontuação igual a 100 como esperado, pois cada pergunta é exatamente igual à que aparece na base de dados de conhecimento. As três últimas perguntas, tendo sido redigidas de maneira diferente, não retornam 100 como a pontuação de confiança. Para aumentar a pontuação para o teste e seus usuários, você precisa adicionar mais perguntas alternativas à base de dados de conhecimento.
Testar com os campos opcionais
Depois de entender o formato e o processo, você pode gerar, de fonte de dados, como de logs de chats, um arquivo de teste para executar em sua base de dados de conhecimento.
Como a fonte de dados e o processo são automatizados, o arquivo de teste pode ser executado muitas vezes com configurações diferentes para determinar os valores corretos.
Por exemplo, se você tiver um log de chat e desejar determinar qual texto de log de chat aplica-se a quais campos de metadados, crie um arquivo de teste e defina os campos de metadados para cada linha. Execute o teste e examine as linhas que correspondem aos metadados. Em geral, as correspondências devem ser positivas, mas você deve examinar os resultados para ver se há falsos positivos. Um falso positivo é uma linha que corresponde aos metadados mas, com base no texto, não deveria corresponder.
Usar campos opcionais no arquivo de teste de lote de entrada
Use o gráfico a seguir para entender como localizar os valores de campo para dados opcionais.
Número da coluna | Coluna opcional | Local dos dados |
---|---|---|
3 | metadata | Exportar a base de dados de conhecimento existente para os pares key:value existentes. |
4 | top | Um valor padrão de 25 é recomendado. |
5 | ID do conjunto de perguntas e respostas | Exporte a base de dados de conhecimento existente para valores de ID. Observe também que as IDs foram retornadas no arquivo de saída. |
Adicionar metadados à base de dados de conhecimento
No portal do QnA, na página Editar, adicione metadados de
topic:power
às seguintes perguntas:Perguntas Carregar seu Surface Pro 4 Verificar o nível da bateria Dois pares do QnA têm os metadados definidos.
Dica
Para ver os metadados e as IDs do QnA de cada conjunto, exporte a base de dados de conhecimento. Selecione a página Configurações e, em seguida, selecione Exportar como um arquivo
.xls
. Localize esse arquivo baixado e abra-o com o Excel, revisando os metadados e a ID.Selecione Salvar e treinar e, em seguida, selecione a página Publicar. Em seguida, selecione o botão Publicar. Essas ações tornam a alteração disponível para o teste de lote. Baixe a base de dados de conhecimento na página Configurações.
O arquivo baixado tem o formato correto para os metadados e a ID correta de conjunto de perguntas e respostas. Usar esses campos na próxima seção
Criar um segundo teste de lote
Há dois cenários principais para testes de lote:
- Processar arquivos de log de chat – determinar a resposta principal para uma pergunta anteriormente não vista – a situação mais comum é quando você precisa processar o arquivo de log de consultas, como as perguntas de usuário de um chatbot. Crie um teste de arquivo em lotes, com apenas as colunas necessárias. O teste retorna a primeira resposta para cada pergunta. Isso não significa que a primeira resposta é a resposta correta. Depois de concluir este teste, vá para o teste de validação.
- Teste de validação – valide a resposta esperada. Esse teste exige que todas as perguntas e respostas esperadas correspondentes no teste de lote tenham sido validadas. Isso pode exigir algum processamento manual.
O procedimento a seguir pressupõe que o cenário é processar os logs de chat com
Crie um arquivo de teste de lote para incluir dados opcionais,
batch-test-data-2.tsv
. Adicione as seis linhas do arquivo de entrada de teste de lote original e, em seguida, adicione os metadados, o parâmetro superior e a ID do par de pergunta e resposta para cada linha.Para simular o processo automatizado de verificar novo texto de logs de chat na base de dados de conhecimento, defina os metadados para cada coluna com o mesmo valor:
topic:power
.Execute o teste novamente, alterando os nomes de arquivo de entrada e saída para indicar que este se trata do segundo teste.
Resultados de teste e um sistema de teste automatizado
Esse arquivo de saída de teste pode ser analisado como parte de um pipeline de teste contínuo automatizado.
Esta saída de teste específica deve ser lida como: cada linha foi filtrada com metadados e, já que não houve correspondência entre cada linha e os metadados na base de dados de conhecimento, a resposta padrão para as linhas não correspondentes retorna ("nenhuma correspondência adequada encontrada na base de dados de conhecimento"). Das linhas que corresponderam, a ID do QnA e a pontuação foram retornadas.
Todas as linhas retornaram o rótulo de incorreta porque nenhuma linha correspondeu à ID de resposta esperada.
Com esses resultados, deve ser possível perceber que você pode fazer um log de chat e usar o texto como a consulta de cada linha. Sem saber nada sobre os dados, os resultados permitem tirar muitas conclusões sobre os dados, que você pode usar posteriormente:
- metadados
- ID do QnA
- score
A filtragem com metadados foi uma boa ideia para o teste? Sim e não. O sistema de teste deveria criar arquivos de teste para cada par de metadados, bem como um teste sem pares de metadados.
Limpar os recursos
Se você não for continuar testando a base de dados de conhecimento, exclua a ferramenta de arquivo em lotes e os arquivos de teste.
Se você não quiser continuar a usar essa base de dados de conhecimento, exclua-a seguindo estas etapas:
- No portal do QnA Maker, selecione Minhas bases de dados de conhecimento no menu superior.
- Na lista de bases de dados de conhecimento, selecione o ícone Excluir na linha da base de dados de conhecimento deste início rápido.
A documentação de referência sobre a ferramenta inclui:
- o exemplo de linha de comando da ferramenta;
- o formato para arquivos de entrada e saída TSV.