Partilhar via


Integre um bot OpenAI com um sistema de chat

Este artigo demonstra como integrar um bot OpenAI conversacional com um chat dos Serviços de Comunicação do Azure. O bot de chat OpenAI usa o Microsoft Bot Framework integrado com o Semantic Kernel. O bot OpenAI recupera e resume as respostas de uma base de conhecimento interna para responder às perguntas do usuário em linguagem natural.

Diagrama de arquitetura do Azure OpenAI.

Etapa 1: Implantar um modelo básico com o Azure AI Foundry

  1. No portal do Azure AI Foundry, siga o artigo Criar um projeto para criar um novo projeto. Quando solicitado, crie um novo hub e aceite todas as configurações padrão.

  2. Abra seu projeto, vá para Recursos incluídos, selecione Serviço OpenAI do Azure e salve a chave da API e a URL do ponto de extremidade do serviço.

    Captura de ecrã que mostra a página de descrição geral do portal do Azure AI Foundry.

  3. No menu à esquerda, navegue até Meus ativos → Modelos + pontos de extremidade. Em seguida, clique em + Implantar modelo e escolha Implantar modelo base.

    Captura de tela da página Gerenciar implantações de seus modelos e serviços mostrando o item de menu Implantar modelo base selecionado.

  4. Selecione gpt-4o e clique em Confirmar.

    Captura de ecrã da caixa de diálogo Selecionar um modelo mostrando gpt-4o selecionado.

  5. Insira um nome de implantação de sua escolha e clique em Conectar e implantar.

    Captura de tela da caixa de diálogo Implantar gpt-4o mostrando gpt-4o como o nome da implantação.

  6. Concluída a implantação, regresse a Modelos + pontos de extremidade para verificar que o seu modelo está a funcionar. Neste exemplo, o modelo implantado é gpt-4o.

    Captura de ecrã do ativo Modelos e pontos de extremidade mostrando o GPT-4o como o modelo implementado e as informações de implementação relacionadas.

Etapa 2: Criar um recurso de aplicativo Web

  1. No portal do Azure, selecione Criar um recurso. Na caixa de pesquisa, introduza aplicação Web. Selecione o tile Aplicativo Web.

    Captura de ecrã que mostra a criação de um recurso de aplicação Web no portal do Azure.

  2. Em Criar Aplicativo Web, selecione ou insira detalhes para o aplicativo, incluindo a região onde você deseja implantar o aplicativo.

    Captura de tela da página Criar Aplicativo Web mostrando os detalhes do Projeto e os detalhes da Instância selecionados para criar uma implantação de aplicativo Web.

  3. Selecione Revisar e Criar para validar a implementação e rever os detalhes da implementação. Em seguida, selecione Criar.

  4. Quando o recurso da aplicação web for criado, copie a URL do nome de anfitrião mostrada nos detalhes do recurso. A URL faz parte do ponto de extremidade que você cria para o aplicativo Web.

    Captura de ecrã da página My-First-Bot-WebApp mostrando a URL do endpoint da aplicação web que é necessário copiar para uso futuro.

Etapa 3: Criar um recurso do Serviço de Bot do Azure

  1. No portal do Azure, selecione Criar um recurso. Na caixa de pesquisa, digite bot. Selecione o tile Bot do Azure.

    Captura de ecrã do bloco do bot do Azure a mostrar os detalhes necessários para criar um serviço de bot do Azure.

  2. Em Criar um Bot do Azure, selecione Multi-Tenant como Tipo de Aplicativo e Criar nova ID de Aplicativo Microsoft para Tipo de Criação.

  3. Selecione Revisar e Criar para validar a implementação e rever os detalhes da implementação. Em seguida, selecione Criar.

  4. Obtenha o ID do aplicativo bot e crie a senha. Registre esses valores para usar em configurações posteriores.

Etapa 4: Criar um endpoint de mensagens para o bot

O Serviço de Bot do Azure normalmente espera que o Bot Application Web App Controller exponha um ponto de extremidade no formato /api/messages. O endpoint processa todas as mensagens enviadas para o bot. Em seguida, no recurso de bot, crie um ponto de extremidade de mensagens do aplicativo Web:

  1. No portal do Azure, vá para seu recurso de Bot do Azure. No menu de recursos, selecione Configuração.

  2. Em Configuração, para o endpoint de mensagens, cole a URL do nome do host da aplicação web copiada na secção anterior. Anexe o URL com /api/messages.

  3. Selecione Aplicar.

Captura de ecrã que mostra como criar um endpoint de mensagens para bots usando o nome de host da aplicação web.

Etapa 5: Criar um recurso do Serviço de Comunicação do Azure

  1. No portal do Azure, selecione Criar um recurso. Na caixa de pesquisa, introduza serviços de comunicação. Selecione o bloco Serviços de comunicação .

    Captura de ecrã do mosaico dos Serviços de Comunicação, mostrando os detalhes necessários para criar um recurso do Azure Communication Services.

  2. Em Criar um Serviço de Comunicação do Azure, você pode especificar a assinatura, o grupo de recursos, o nome do recurso Serviços de Comunicação e a geografia associada ao recurso.

  3. Selecione Revisar e Criar para validar a implementação e rever os detalhes da implementação. Depois, selecione Criar.

  4. Aceda ao recurso. Selecione Configurações - Identidades & Tokens de Acesso do UtilizadorBate-papo, então clique em Gerar. Salve a identidade e o token de acesso do usuário para uso futuro.

    Captura de ecrã que mostra como criar um ID de utilizador e um token de acesso dos Serviços de Comunicação

Etapa 6: Habilitar o canal de bate-papo dos Serviços de Comunicação

Quando você tem um recurso de Serviços de Comunicação, pode configurar um canal de Serviços de Comunicação no recurso de bot. Esse processo gera uma ID de Usuário dos Serviços de Comunicação do Azure Bot para o bot.

  1. No portal do Azure, vá para seu recurso de Bot do Azure. No menu de recursos, selecione Canais. Na lista de canais disponíveis, selecione Serviços de Comunicação - Chat.

    Captura de ecrã que mostra a abertura do canal de Chat dos Serviços de Comunicação.

  2. Selecione Conectar para ver uma lista de recursos dos Serviços de Comunicação disponíveis em sua assinatura.

    Captura de tela que mostra como conectar um recurso do Serviço de Comunicação ao bot.

  3. No painel Nova Conexão, selecione o recurso de chat dos Serviços de Comunicação e selecione Aplicar.

    Captura de ecrã que mostra como guardar o recurso do Serviço de Comunicação selecionado para criar um novo ID de utilizador dos Serviços de Comunicação.

  4. Quando os detalhes do recurso são verificados, uma ID de Usuário dos Serviços de Comunicação do Azure Bot é mostrada na coluna ID dos Serviços de Comunicação do Azure Bot . Salve o ID para uso posterior.

    Captura de tela que mostra o novo ID de usuário dos Serviços de Comunicação atribuído ao bot.

Etapa 7: implantar o aplicativo Web

  1. Abra a ChatBot pasta no repositório de exemplo no Visual Studio Code (VS Code). Certifique-se de usar o VS Code porque ele suporta o Microsoft Entra ID na implantação de código.

  2. Substitua os marcadores de posição no repositório de exemplo por valores efetivos reais.

    1. SemanticKernelService.cs No arquivo, preencha os valores das variáveis modelId, endpointe apiKey.
    2. appsettings.json No arquivo, preencha os valores para variáveis MicrosoftAppId e MicrosoftAppPassword usando o bot app id e o bot password que você registrou na Etapa 3.
  3. Instale a extensão do Serviço de Aplicativo do Azure no VS Code.

    Captura de tela que mostra como instalar a extensão de serviço do aplicativo.

  4. Entre na sua conta do Azure no VS Code. Para acessar o painel de entrada, clique no ícone do Azure na Barra de atividades na lateral da janela.

  5. Instale a extensão do Serviço de Aplicativo do Azure no VS Code.

    Captura de ecrã que mostra como iniciar sessão na sua conta do Azure no VS Code.

  6. Construa o projeto executando o seguinte comando no diretório raiz do projeto 'ChatBot'.

    dotnet publish -c Release -o ./bin/Publish
    

Este comando gera as bin pastas e obj .

  1. Para implantar o Web App, clique com o botão direito do mouse na nova /bin/Publish pasta e selecione Implantar no Web App.

    Captura de tela que mostra como escolher a pasta para implantação.

  2. Escolha o aplicativo Web do Serviço de Aplicativo do Azure no qual você deseja implantar o aplicativo. Confirme a implantação.

    Captura de tela que mostra como implantar o aplicativo Web no Azure.

Passo 8: Execute a demonstração

  1. Siga os passos antes de "Obter um cliente de conversa" em Adicionar bate-papo à sua aplicação para criar uma aplicação de bate-papo e iniciar uma conversa.

    Principais notas:

    • Você já criou o recurso do Serviço de Comunicação do Azure no portal, para que possa usar diretamente o <Azure Communication Services endpoint>, <Access_ID>e <Access_Token> em seu código.
    • Ao criar um thread, você precisa criar outro ChatParticipant objeto, usando o Bot Azure Communication Services User ID criado na Etapa 6: habilitar o canal de Chat dos Serviços de Comunicação como o <Access_ID> para representar o usuário do bot.
    • Guarde o Thread Id para utilização posterior.
  2. Abra o componente Biblioteca de Interface do Utilizador: Interface do Utilizador do Thread de Chat dos Serviços de Comunicação do Azure - Participar no Thread de Chat Existente.

  3. Forneça as informações necessárias para participar de um Tópico de Bate-papo existente.

    • Nome para exibição: você pode escolher o que preferir.
    • Identificador de usuário para usuário: o <Access_ID> salvo na etapa 8.1.
    • Token válido para o usuário: o <Access_Token> salvo na etapa 8.1.
    • Ponto de extremidade dos Serviços de Comunicação do Azure: o <Azure Communication Services endpoint> salvo na etapa 8.1.
    • Thread existente: Thread Id salvo na etapa 8.1.
  4. Faça as seguintes perguntas em sequência:

    • Perguntas 1: O meu ID de utilizador é 110. Eu comprei um laptop há vários dias. Você poderia ajudar a rastrear a entrega?
    • Pergunta 2: Solicitei uma devolução para o meu Power Bank. Alguma atualização?
    • Pergunta 3: Eu comprei fones de ouvido Bluetooth há 2 dias, mas eles ainda não foram enviados. Porquê?

OpenAI recupera os dados relevantes para a semântica da pergunta e fornece uma resposta com base nos dados disponíveis.

Marcas comerciais

Este projeto pode conter marcas comerciais ou logotipos para projetos, produtos ou serviços. O uso autorizado de marcas comerciais ou logotipos da Microsoft está sujeito e deve seguir as Diretrizes de Marcas Comerciais e Marcas da Microsoft.

O uso de marcas comerciais ou logotipos da Microsoft em versões modificadas deste projeto não deve causar confusão ou implicar patrocínio da Microsoft.

Qualquer uso de marcas comerciais ou logotipos de terceiros está sujeito às políticas desses terceiros.