Use respostas às perguntas para responder a perguntas

APLICA-SE A: SDK v4

O recurso Respostas às perguntas do Serviço Cognitivo do Azure para Linguagem oferece 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 da sua base de informações personalizada de informações.

Este artigo descreve como usar o recurso respostas às perguntas em seu bot.

Pré-requisitos

  • Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
  • Um recurso de linguagem no Language Studio com o recurso de respostas às perguntas personalizadas habilitado.
  • Uma cópia da amostra das respostas às perguntas personalizadas em C# ou JavaScript.

Sobre este exemplo

Para usar as respostas às perguntas em seu bot, você precisa de uma base de informações existente. Em seguida, o bot pode usar a base de informações para responder às perguntas do usuário.

Se você precisar criar uma nova base de informações para um bot SDK do Bot Framework, confira o LEIAME para a amostra de respostas às perguntas personalizadas.

C# question answering bot logic flow.

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

A entrada de usuário é enviada à sua base de informações e a melhor resposta retornada é exibida para o usuário.

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

  1. No Language Studio, abra o recurso de linguagem.

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

    • O nome do host do ponto de extremidade de linguagem.
    • O Ocp-Apim-Subscription-Key, que é a sua chave de ponto de extremidade.
    • O nome do projeto, que atua como sua ID da base de informações.

O nome do host é a parte da URL do ponto de extremidade entre https:// e /language, por exemplo, https://<hostname>/language. O bot precisará do nome do projeto, da URL do host e da chave de ponto de extremidade para se conectar à sua base de informações.

Dica

Se essa implantação não for para produção, os campos ID do aplicativo do bot e senha poderão ser deixados em branco.

Configurar e chamar o cliente da base de informações

Crie seu cliente da base de informações e, em seguida, use o cliente para recuperar respostas da base de informações.

Verifique se o pacote do NuGet Microsoft.Bot.Builder.AI.QnA está instalado para o seu projeto.

No QnABot.cs, no método OnMessageActivityAsync, crie um cliente da base de informações. Use o contexto turn para consultar a base de informações.

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 a bot

Execute o exemplo localmente em seu computador. Se ainda não tiver feito isso, instale o Bot Framework Emulator. Para mais obter instruções, confira o ExemploREADME (C# ou JavaScript).

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

Informações adicionais

A amostra de respostas às perguntas personalizadas, todos os recursos (C# ouJavaScript) mostra como usar uma caixa de diálogo do QnA Maker para oferecer suporte ao prompt de acompanhamento e aos recursos de aprendizado ativo de uma base de informações.

  • O recurso respostas às perguntas oferece suporte aos prompts de acompanhamento, também conhecidos como solicitações de vários turnos. Se a base de informações exigir informações adicionais do usuário, o serviço enviará informações de contexto que você poderá usar para enviar solicitações ao usuário. Essas informações também são usadas para fazer qualquer chamada de acompanhamento para o serviço.
  • O recurso respostas às perguntas também dá suporte a sugestões de aprendizado ativo, permitindo que a base de informações seja aprimorada ao longo do tempo. O diálogo do QnA Maker dá suporte a comentários explícitos para o recurso de aprendizado ativo.