Compartilhar via


Consultar a base de dados de conhecimento para obter respostas

Uma base de dados de conhecimento deve ser publicada. Depois de publicado, a base de dados de conhecimento é consultada no ponto de extremidade de previsão do runtime usando a API generateAnswer. A consulta inclui o texto da pergunta e outras configurações, para ajudar o QnA Maker a fazer a melhor correspondência possível com uma resposta.

Observação

O serviço QnA Maker será desativado em 31 de outubro de 2025 (estendido a partir de 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á mais criar novos recursos do QnA Maker. Desde 31 de março de 2025, o portal do QnA Maker não está mais disponível. 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.

Como o QnA Maker processa uma consulta de usuário para selecionar a melhor resposta

A base de dados de conhecimento treinada e publicada do QnA Maker recebe uma consulta de usuário, de um bot ou outro aplicativo cliente, na API GenerateAnswer. O diagrama a seguir ilustra o processo quando a consulta do usuário é recebida.

O processo de modelo de classificação para consulta de usuário

Processo do classificador

O processo é explicado na tabela a seguir.

Etapa Finalidade
1 O aplicativo cliente envia a consulta do usuário para a API GenerateAnswer.
2 O QnA Maker pré-processa a consulta do usuário com detecção de idioma, grafias e separadores de palavras.
3 O pré-processamento é usado para alterar a consulta do usuário para obter os melhores resultados da pesquisa.
4 Essa consulta alterada é enviada a um índice da Pesquisa de IA do Azure, que recebe o número de resultados top. Se a resposta correta não estiver nesses resultados, aumente o valor de top um pouco. Em geral, um valor de 10 para top funciona em 90% das consultas. A pesquisa do Azure filtra as palavras irrelevantes nessa etapa.
5 O QnA Maker usa a definição de recursos sintática e semântica para determinar a similaridade entre a consulta do usuário e os resultados do QnA buscados.
6 O modelo de classificador de machine learning usa os diferentes recursos da etapa 5 para determinar as pontuações de confiança e a nova ordem de classificação.
7 Os novos resultados são retornados ao aplicativo cliente em ordem classificada.

Os recursos usados incluem, entre outros, a semântica de nível de palavra, importância de nível de termo em um corpus e modelos semânticos profundos aprendidos para determinar a similaridade e a relevância entre duas cadeias de caracteres de texto.

Solicitação e resposta HTTP com o ponto de extremidade

Quando você publica uma base de dados de conhecimento, o serviço cria um ponto de extremidade HTTP baseado em REST para integração no aplicativo, geralmente um chat bot.

A solicitação de consulta do usuário para gerar uma resposta

A consulta de usuário é a pergunta que o usuário final faz para a base de dados de conhecimento, como How do I add a collaborator to my app?. A consulta é feita geralmente em um formato de idioma natural ou em algumas palavras-chave que representam a pergunta, como help with collaborators. A consulta é enviada de uma solicitação HTTP no aplicativo cliente para a base de dados de conhecimento.

{
    "question": "How do I add a collaborator to my app?",
    "top": 6,
    "isTest": true,
    "scoreThreshold": 20,
    "strictFilters": [
    {
        "name": "QuestionType",
        "value": "Support"
    }],
    "userId": "sd53lsY="
}

Você controla a resposta por meio de propriedades como scoreThreshold, tope strictFilters.

Use o contexto de conversa com a funcionalidade de várias rodadas para manter a conversa a fim de refinar as perguntas e respostas, para encontrar a resposta correta e final.

A resposta de uma chamada para gerar uma resposta

A resposta HTTP é a resposta recuperada da base de dados de conhecimento, com base na melhor correspondência para uma determinada consulta do usuário. A resposta inclui a resposta e a pontuação de previsão. Se você solicitar mais de uma resposta principal com a propriedade top, receberá mais de uma resposta principal, cada uma com uma pontuação.

{
    "answers": [
        {
            "questions": [
                "How do I add a collaborator to my app?",
                "What access control is provided for the app?",
                "How do I find user management and security?"
            ],
            "answer": "Use the Azure portal to add a collaborator using Access Control (IAM)",
            "score": 100,
            "id": 1,
            "source": "Editorial",
            "metadata": [
                {
                    "name": "QuestionType",
                    "value": "Support"
                },
                {
                    "name": "ToolDependency",
                    "value": "Azure Portal"
                }
            ]
        }
    ]
}

Próximas etapas