Tutorial: Implantar um aplicativo Web de bate-papo corporativo
Importante
Os itens marcados (visualização) neste artigo estão atualmente em visualização pública. Essa visualização é fornecida sem um contrato de nível de serviço e não a recomendamos para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.
Neste artigo, você implanta um aplicativo Web de bate-papo corporativo que usa seus próprios dados com um modelo de linguagem grande no portal do Azure AI Foundry.
A sua fonte de dados é utilizada para ajudar a fundamentar o modelo com dados específicos. Aterramento significa que o modelo usa seus dados para ajudá-lo a entender o contexto da sua pergunta. Você não está alterando o modelo implantado em si. Os seus dados são armazenados separadamente e de forma segura na sua fonte de dados original
As etapas neste tutorial são:
- Configure os recursos.
- Adicione os seus dados.
- Teste o modelo com seus dados.
- Implante seu aplicativo Web.
Pré-requisitos
Uma assinatura do Azure - Crie uma gratuitamente.
Um modelo de chat do Azure OpenAI implantado. Conclua o início rápido do playground do Azure AI Foundry para criar esse recurso, caso ainda não o tenha feito.
Uma conexão de serviço de Pesquisa para indexar os dados do produto de exemplo. Se você não tiver um, siga as etapas para criar e conectar um serviço de pesquisa.
Uma cópia local dos dados do produto. O repositório Azure-Samples/rag-data-openai-python-promptflow no GitHub contém informações de exemplo de produto de varejo que são relevantes para este cenário tutorial. Especificamente, o
product_info_11.md
arquivo contém informações do produto sobre os sapatos de caminhada TrailWalker que são relevantes para este exemplo tutorial. Baixe o exemplo de dados do produto de varejo Contoso Trek em um arquivo ZIP para sua máquina local.Um provedor de recursos Microsoft.Web registrado na assinatura selecionada, para poder implantar em um aplicativo Web. Para obter mais informações sobre como registrar um provedor de recursos, consulte Registrar provedor de recursos.
Permissões necessárias para adicionar atribuições de função em sua assinatura do Azure. A concessão de permissões por atribuição de função só é permitida pelo Proprietário dos recursos específicos do Azure.
Portal do Azure AI Foundry e portal do Azure
Neste tutorial, você executa algumas tarefas no portal do Azure AI Foundry e algumas tarefas no portal do Azure.
O portal do Azure AI Foundry é um ambiente baseado na Web para criar, treinar e implantar modelos de IA. Como desenvolvedor, é onde você criará e implantará seu aplicativo Web de bate-papo.
O portal do Azure permite que um administrador gerencie e monitore os recursos do Azure. Como administrador, você usará o portal para definir configurações para vários serviços do Azure necessários para acesso a partir do aplicativo Web.
Configurar recursos
Importante
Você deve ter as permissões necessárias para adicionar atribuições de função em sua assinatura do Azure. A concessão de permissões por atribuição de função só é permitida pelo Proprietário dos recursos específicos do Azure. Talvez seja necessário pedir ao proprietário da assinatura do Azure (que pode ser seu administrador de TI) para concluir esta seção para você.
Para que os recursos funcionem corretamente dentro de um aplicativo Web, você precisa configurá-los com as permissões corretas. Esse trabalho é feito no portal do Azure.
Para começar, identifique os recursos que você precisa configurar no portal do Azure AI Foundry.
Abra o portal do Azure AI Foundry e selecione o projeto usado para implantar o modelo de chat do Azure OpenAI.
Selecione Centro de gerenciamento no painel esquerdo.
Selecione Recursos conectados em seu projeto.
Identifique os três recursos que você precisa configurar: o Azure OpenAI, o Azure AI Search e o armazenamento de Blob do Azure que corresponde ao seu workspaceblobstore.
Gorjeta
Se você tiver vários recursos do Azure OpenAI , use aquele que contém seu modelo de chat implantado.
Para cada recurso, selecione o link para abrir os detalhes do recurso. Na página de detalhes, selecione o nome do recurso para abri-lo no portal do Azure. (Para o workspaceblobstore, selecione Ver no Portal do Azure).
Depois que a guia do navegador for aberta, volte para o portal do Azure AI Foundry e repita o processo para o próximo recurso.
Quando terminar, você deverá ter três novas guias de navegador abertas, para Serviço de Pesquisa, Serviços de IA do Azure e Contêiner blobstore. Mantenha as três novas guias abertas, pois você vai e volta entre elas para configurar os recursos.
Ativar a identidade gerida
Na guia do navegador do recurso de serviço de Pesquisa no portal do Azure, habilite a identidade gerenciada:
- No painel esquerdo, em Configurações, selecione Identidade.
- Alterne o status para Ativado.
- Selecione Guardar.
Na guia do navegador para o recurso de serviços de IA do Azure no portal do Azure, habilite a identidade gerenciada:
- No painel esquerdo, em Gerenciamento de Recursos, selecione Identidade.
- Alterne o status para Ativado.
- Selecione Guardar.
Definir controle de acesso para pesquisa
Na guia do navegador para o recurso de serviço de Pesquisa no portal do Azure, defina a política de Acesso à API:
- No painel esquerdo, em Configurações, selecione Chaves.
- Em Controle de acesso à API, selecione Ambos.
- Quando solicitado, selecione Sim para confirmar a alteração.
Atribuir funções
Você repetirá esse padrão várias vezes nos itens com marcadores abaixo.
O padrão geral para atribuir controle de acesso baseado em função (RBAC) para qualquer recurso é:
- Navegue até o portal do Azure para o recurso fornecido.
- Na página à esquerda no portal do Azure, selecione Controle de acesso (IAM).
- Selecione + Adicionar>Adicionar atribuição de função.
- Procure a função que precisa de atribuir e selecione-a. Em seguida, selecione Seguinte.
- Ao atribuir uma função a si mesmo:
- Selecione Usuário, grupo ou entidade de serviço.
- Selecione Selecionar membros.
- Procure o seu nome e selecione-o.
- Ao atribuir uma função a outro recurso:
- Selecione Identidade gerida.
- Selecione Selecionar membros.
- Use a lista suspensa para localizar o tipo de recurso que você deseja atribuir. Por exemplo, serviços de IA do Azure ou serviço de Pesquisa.
- Selecione o recurso na lista exibida. Pode haver apenas um, mas você ainda precisa selecioná-lo.
- Continue pelo assistente e selecione Revisar + atribuir para adicionar a atribuição de função.
Use estas etapas para atribuir funções aos recursos que você está configurando neste tutorial:
Atribua as seguintes funções na guia do navegador para o serviço de Pesquisa no portal do Azure:
- Leitor de Dados de Índice de Pesquisa para a identidade gerenciada dos serviços de IA do Azure
- Colaborador do Serviço de Pesquisa para a identidade gerenciada dos serviços de IA do Azure
- Colaborador para si mesmo (para encontrar Colaborador, alterne para a guia Funções de administrador privilegiadas na parte superior. Todas as outras funções estão na guia Funções de função de trabalho.)
Atribua as seguintes funções na guia do navegador para serviços de IA do Azure no portal do Azure:
- Serviços Cognitivos OpenAI Contributor para a identidade gerenciada do serviço de Pesquisa
- Contribuinte para si mesmo.
Atribua as seguintes funções na guia do navegador para o armazenamento de Blob do Azure no portal do Azure:
- Contribuidor de Dados de Blob de Armazenamento para a identidade gerenciada dos serviços de IA do Azure
- Leitor de dados de Blob de armazenamento para a identidade gerenciada do serviço de Pesquisa
- Contribuinte para si mesmo
Você terminou de configurar os recursos. Você pode fechar as guias do navegador do portal do Azure agora, se desejar.
Adicione seus dados e tente o modelo de bate-papo novamente
No início rápido do playground do Azure AI Foundry (que é um pré-requisito para este tutorial), observe como seu modelo responde sem seus dados. Agora, adicione seus dados ao modelo para ajudá-lo a responder a perguntas sobre seus produtos.
Para concluir esta seção, você precisa de uma cópia local dos dados do produto. O repositório Azure-Samples/rag-data-openai-python-promptflow no GitHub contém informações de exemplo de produto de varejo que são relevantes para este cenário tutorial. Especificamente, o product_info_11.md
arquivo contém informações do produto sobre os sapatos de caminhada TrailWalker que são relevantes para este exemplo tutorial.
Baixe o exemplo de dados do produto de varejo Contoso Trek em um arquivo ZIP para sua máquina local.
Siga estas etapas para adicionar seus dados no playground de bate-papo para ajudar o assistente a responder perguntas sobre seus produtos. Você não está alterando o modelo implantado em si. Seus dados são armazenados separadamente e com segurança em sua assinatura do Azure.
Vá para o seu projeto no Azure AI Foundry.
Selecione Playgrounds.
Selecione Experimente o playground de bate-papo.
Selecione seu modelo de chat implantado na lista suspensa Implantação .
No lado esquerdo do playground de bate-papo, selecione Adicionar seus dados (VISUALIZAÇÃO)>+ Adicionar uma nova fonte de dados.
Na lista suspensa Fonte de dados, selecione Carregar arquivos.
Selecione Upload>Upload de arquivos para procurar seus arquivos locais.
Selecione os ficheiros que pretende carregar. Selecione os arquivos de informações do produto que você baixou ou criou anteriormente. Adicione todos os arquivos agora. Você não poderá adicionar mais arquivos posteriormente na mesma sessão de playground.
Selecione Carregar para carregar o arquivo em sua conta de armazenamento de Blob do Azure. Em seguida, selecione Seguinte.
Selecione seu serviço Azure AI Search .
Para o nome do índice vetorial, insira product-info e selecione Next.
Na página Configurações de pesquisa, em Configurações de vetor, desmarque a caixa de seleção Adicionar pesquisa vetorial a este recurso de pesquisa. Essa configuração ajuda a determinar como o modelo responde às solicitações. Em seguida, selecione Seguinte.
Nota
Se você adicionar pesquisa vetorial, mais opções estarão disponíveis aqui por um custo adicional.
Revise suas configurações e selecione Criar índice vetorial.
No playground, você pode ver que sua ingestão de dados está em andamento. Este processo pode demorar vários minutos. Antes de continuar, aguarde até ver a fonte de dados e o nome do índice no lugar do status.
Agora você pode conversar com o modelo fazendo a mesma pergunta de antes ("Quanto são os sapatos de caminhada TrailWalker"), e desta vez ele usa informações de seus dados para construir a resposta. Você pode expandir o botão de referências para ver os dados que foram usados.
Implantar seu aplicativo Web
Quando estiver satisfeito com a experiência no portal do Azure AI Foundry, você poderá implantar o modelo como um aplicativo Web autônomo.
Localizar o seu grupo de recursos no portal do Azure
Neste tutorial, seu aplicativo Web é implantado no mesmo grupo de recursos que seu hub do Azure AI Foundry. Mais tarde, você configura a autenticação para o aplicativo Web no portal do Azure.
Siga estas etapas para navegar até seu grupo de recursos no portal do Azure:
Vá para o seu projeto no Azure AI Foundry. Em seguida, selecione Centro de gerenciamento no painel esquerdo.
No título Projeto, selecione Visão geral.
Selecione o nome do grupo de recursos para abrir o grupo de recursos no portal do Azure. Neste exemplo, o grupo de recursos é chamado
rg-sdg-ai
.Agora você deve estar no portal do Azure, exibindo o conteúdo do grupo de recursos onde implantou o hub. Observe o nome e o local do grupo de recursos, você usará essas informações na próxima seção.
Mantenha esta página aberta num separador do browser. Você voltará a ele mais tarde.
Implantar o aplicativo Web
A publicação cria um Serviço de Aplicativo do Azure em sua assinatura. Ele pode incorrer em custos dependendo do plano de preços selecionado. Quando terminar de usar seu aplicativo, você poderá excluí-lo do portal do Azure.
Para implantar o aplicativo Web:
Importante
Você precisa registrar o Microsoft.Web como um provedor de recursos antes de implantar em um aplicativo Web.
Conclua as etapas na seção anterior para adicionar seus dados ao playground. (Você pode implantar um aplicativo Web com ou sem seus próprios dados, mas pelo menos precisa de um modelo implantado, conforme descrito no Início rápido do playground do Azure AI Foundry).
Selecione Implantar > ... como um aplicativo Web.
Na página Implantar em um aplicativo Web, insira os seguintes detalhes:
- Nome: um nome exclusivo para seu aplicativo Web.
- Assinatura: sua assinatura do Azure. Se você não vir nenhuma assinatura disponível, primeiro registre Microsoft.Web como um provedor de recursos.
- Grupo de recursos: selecione um grupo de recursos no qual implantar o aplicativo Web. Use o mesmo grupo de recursos que o hub.
- Local: selecione um local no qual implantar o aplicativo Web. Use o mesmo local do hub.
- Plano de preços: escolha um plano de preços para o aplicativo Web.
- Ativar histórico de bate-papo no aplicativo Web: para o tutorial, a caixa de histórico de bate-papo não está selecionada. Se você habilitar o recurso, seus usuários terão acesso às suas consultas e respostas anteriores individuais. Para obter mais informações, consulte Observações do histórico de bate-papo.
Selecione Implementar.
Aguarde até que o aplicativo seja implantado, o que pode levar alguns minutos.
Quando estiver pronto, o botão Iniciar estará ativado na barra de ferramentas. Mas não inicie o aplicativo ainda e não feche a página do chat playground - você voltará a ele mais tarde.
Configurar a autenticação do aplicativo Web
Por padrão, o aplicativo Web só é acessível para você. Neste tutorial, você adiciona autenticação para restringir o acesso ao aplicativo aos membros do seu locatário do Azure. Os usuários são solicitados a entrar com sua conta do Microsoft Entra para poder acessar seu aplicativo. Você pode seguir um processo semelhante para adicionar outro provedor de identidade, se preferir. A aplicação não utiliza as informações de início de sessão do utilizador de qualquer outra forma que não seja verificar se é membro do seu inquilino.
Retorne à guia do navegador que contém o portal do Azure (ou reabra o portal do Azure em uma nova guia do navegador) e exiba o conteúdo do grupo de recursos onde você implantou o aplicativo Web (talvez seja necessário atualizar a exibição do aplicativo Web).
Selecione o recurso Serviço de Aplicativo na lista de recursos no grupo de recursos.
No menu recolhível à esquerda em Configurações, selecione Autenticação.
Se vir a Microsoft a listar um fornecedor de Identidade nesta página, nada mais será necessário. Você pode pular a próxima etapa.
Adicione um provedor de identidade com as seguintes configurações:
- Provedor de identidade: selecione Microsoft como o provedor de identidade. As predefinições nesta página restringem a aplicação apenas ao seu inquilino, pelo que não precisa de alterar mais nada aqui.
- Tipo de inquilino: Força de trabalho
- Registo da aplicação: crie um novo registo da aplicação
- Nome: o nome do seu serviço de aplicativo Web
- Tipos de conta suportados: Inquilino atual - Inquilino único
- Restringir acesso: requer autenticação
- Solicitações não autenticadas: redirecionamento HTTP 302 encontrado - recomendado para sites
Utilizar a aplicação Web
Você está quase lá. Agora você pode testar o aplicativo Web.
Se você alterou as configurações, aguarde cerca de 10 minutos para que as configurações de autenticação entrem em vigor.
Retorne à guia do navegador que contém a página do playground de bate-papo no portal do Azure AI Foundry.
Selecione Iniciar para iniciar o aplicativo Web implantado. Se solicitado, aceite a solicitação de permissões.
Se não vir Iniciar no espaço intermédio, selecione Aplicações Web no painel esquerdo e, em seguida, selecione a sua aplicação na lista para a iniciar.
Se as configurações de autenticação ainda não tiverem entrado em vigor, feche a guia do navegador do seu aplicativo Web e retorne ao playground de bate-papo no portal do Azure AI Foundry. Em seguida, espere um pouco mais e tente novamente.
No seu aplicativo da web, você pode fazer a mesma pergunta de antes ("Quanto são os sapatos de caminhada TrailWalker") e, desta vez, ele usa informações de seus dados para construir a resposta. Você pode expandir o botão de referência para ver os dados que foram usados.
Compreender o histórico do chat
Com o recurso de histórico de bate-papo, seus usuários têm acesso às suas consultas e respostas anteriores individuais.
Você pode habilitar o histórico de bate-papo ao implantar o aplicativo Web. Marque a caixa de seleção Ativar histórico de bate-papo no aplicativo Web.
Importante
Habilitar o histórico de bate-papo criará uma instância do Cosmos DB em seu grupo de recursos e incorrerá em cobranças adicionais pelo armazenamento usado. A eliminação da sua aplicação Web não elimina automaticamente a sua instância do Cosmos DB. Para eliminar a sua instância do Cosmos DB, juntamente com todos os chats armazenados, tem de navegar para o recurso associado no portal do Azure e eliminá-lo.
Depois de ativar o histórico de bate-papo, seus usuários podem mostrá-lo e ocultá-lo no canto superior direito do aplicativo. Quando o histórico é mostrado, eles podem renomear ou excluir conversas. À medida que iniciam sessão na aplicação, as conversas são automaticamente ordenadas do mais recente para o mais antigo e nomeadas com base na primeira consulta da conversa.
Se você excluir o recurso do Cosmos DB, mas mantiver a opção de histórico de bate-papo ativada no estúdio, seus usuários serão notificados de um erro de conexão, mas poderão continuar a usar o aplicativo Web sem acesso ao histórico de bate-papo.
Atualizar a aplicação Web
Use o playground para adicionar mais dados ou testar o modelo com diferentes cenários. Quando estiver pronto para atualizar o aplicativo Web com o novo modelo, selecione Implantar > ... como um aplicativo Web novamente. Selecione Atualizar um aplicativo Web existente e escolha o aplicativo Web existente na lista. O novo modelo é implantado no aplicativo Web existente.
Clean up resources (Limpar recursos)
Para evitar incorrer em custos desnecessários do Azure, você deve excluir os recursos criados neste início rápido se eles não forem mais necessários. Para gerenciar recursos, você pode usar o portal do Azure.