Share via


Use a resposta a perguntas para responder a perguntas

APLICA-SE A: SDK v4

O recurso de resposta a perguntas do Serviço Cognitivo do Azure para Idiomas fornece processamento de linguagem natural (NLP) baseado em nuvem que permite criar uma camada de conversação natural sobre seus dados. Ele é usado para encontrar a resposta mais apropriada para qualquer entrada de sua base de conhecimento personalizada de informações.

Este artigo descreve como usar o recurso de resposta a perguntas em seu bot.

Pré-requisitos

  • Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
  • Um recurso de idioma no Language Studio, com o recurso de resposta a perguntas personalizado habilitado.
  • Uma cópia do exemplo de Resposta a Perguntas Personalizadas em C# ou JavaScript.

Sobre este exemplo

Para usar a resposta a perguntas em seu bot, você precisa de uma base de dados de conhecimento existente. Seu bot pode usar a base de conhecimento para responder às perguntas do usuário.

Se você precisar criar uma nova base de dados de conhecimento para um bot SDK do Bot Framework, consulte o LEIA-ME para o exemplo de resposta a perguntas personalizadas.

C# question answering bot logic flow.

OnMessageActivityAsync é chamada para cada entrada de usuário recebida. Quando chamado, ele acessa as definições de configuração do arquivo appsetting.json do código de exemplo e se conecta à sua base de conhecimento.

A entrada do usuário é enviada para sua base de dados de conhecimento e a melhor resposta retornada é exibida de volta para o usuário.

Obtenha as configurações de conexão da base de dados de conhecimento

  1. No Language Studio, abra o recurso linguístico.

  2. Copie as seguintes informações para o arquivo de configuração do bot:

    • O nome do host para seu ponto de extremidade de idioma.
    • O Ocp-Apim-Subscription-Key, que é a sua chave de ponto final.
    • O nome do projeto, que atua como seu ID da base de dados de conhecimento.

Seu nome de host é a parte da URL do ponto de extremidade entre https:// e /language, por exemplo, https://<hostname>/language. Seu bot precisa do nome do projeto, da URL do host e da chave do ponto de extremidade para se conectar à sua base de conhecimento.

Gorjeta

Se você não estiver implantando isso para produção, poderá deixar os campos ID do aplicativo e senha do bot em branco.

Configurar e chamar o cliente da base de dados de conhecimento

Crie seu cliente da base de dados de conhecimento e, em seguida, use o cliente para recuperar respostas da base de dados de conhecimento.

Certifique-se de que o pacote NuGet Microsoft.Bot.Builder.AI.QnA esteja instalado para o seu projeto.

No QnABot.cs, no método, crie um cliente da OnMessageActivityAsync base de dados de conhecimento. Use o contexto de turno para consultar a base de dados de conhecimento.

Bots/CustomQABot.cs

using var httpClient = _httpClientFactory.CreateClient();

var customQuestionAnswering = CreateCustomQuestionAnsweringClient(httpClient);

// Call Custom Question Answering service to get a response.
_logger.LogInformation("Calling Custom Question Answering");
var options = new QnAMakerOptions { Top = 1, EnablePreciseAnswer = _enablePreciseAnswer };
var response = await customQuestionAnswering.GetAnswersAsync(turnContext, options);

Testar o bot

Execute a amostra localmente na sua máquina. Se você ainda não fez isso, instale o Bot Framework Emulator. Para obter mais instruções, consulte o exemplo (READMEC# ou JavaScript).

Inicie o emulador, conecte-se ao bot e envie mensagens para o bot. As respostas às suas perguntas variam, com base nas informações da sua base de conhecimento.

Informações adicionais

O exemplo Custom Question Answering, all features (C# ou JavaScript) mostra como usar uma caixa de diálogo do QnA Maker para dar suporte ao prompt de acompanhamento e aos recursos de aprendizagem ativa de uma base de dados de conhecimento.

  • A resposta a perguntas suporta prompts de acompanhamento, também conhecidos como prompts de várias voltas. Se a base de dados de conhecimento exigir mais informações do usuário, o serviço enviará informações de contexto que você pode usar para avisar o usuário. Essas informações também são usadas para fazer chamadas de acompanhamento para o serviço.
  • A resposta a perguntas também apoia sugestões de aprendizagem ativa, permitindo que a base de conhecimentos melhore ao longo do tempo. A caixa de diálogo QnA Maker suporta feedback explícito para o recurso de aprendizagem ativa.