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 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 à pergunta, 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.

The ranking model process for a user query

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