Tutorial: implantar um aplicativo Web de chat empresarial
Importante
Os itens marcados (versão prévia) neste artigo estão atualmente em versão prévia pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não recomendamos isso para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.
Neste artigo, você implantará um aplicativo Web de chat corporativo que usa os seus próprios dados com um modelo de linguagem grande no portal do Azure AI Foundry.
Sua fonte de dados é usada para ajudar a aterrar o modelo com dados específicos. Aterramento significa que o modelo usa seus dados para ajudá-lo a entender o contexto de sua pergunta. Você não está alterando o próprio modelo implantado. Seus dados são armazenados separadamente e com segurança na fonte de dados original
Siga as etapas neste tutorial são:
- Configure os recursos.
- Adicionar seus dados.
- Testar o modelo com seus dados.
- Implante seu aplicativo Web.
Pré-requisitos
Uma assinatura do Azure – Crie uma gratuitamente.
Um modelo de chat do OpenAI do Azure implantado. Conclua o início rápido do playground do Azure AI Foundry para criar esse recurso, caso ainda não tenha feito isso.
Uma conexão do serviço Pesquisa para indexar os dados de produto de exemplo. Se você não tiver um, siga as etapas para criar e conectar um serviço Pesquisa.
Uma cópia local dos dados do produto. O repositório Azure-Samples/rag-data-openai-python-promptflow no GitHub contém as informações da amostra de produto de varejo que são relevantes para o cenário desse tutorial. Especificamente, o
product_info_11.md
contém informações sobre os sapatos de caminhada TrailWalker relevantes para este exemplo de tutorial. Baixe o exemplo de dados do produto de varejo da Contoso Trek em um arquivo ZIP no seu computador 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 recurso, confira 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ções só é permitida pelo Proprietário dos recursos específicos do Azure.
Portal do Azure AI Foundry e portal do Azure
Neste tutorial, você executará 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 destinado à criação, treinamento e implantação de modelos de IA. Como desenvolvedor, ele é onde você criará e implantará o seu aplicativo Web de chat.
O portal do Azure permite que um administrador gerencie e monitore os recursos do Azure. Como administrador, você usará o portal para definir as configurações para vários serviços do Azure necessários para acesso do aplicativo Web.
Configurar recursos
Importante
Você deve ter as permissões necessárias para adicionar atribuições de funções à sua assinatura do Azure. A concessão de permissões por atribuição de funções 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 o 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. Este trabalho é feito no portal do Azure.
Para começar, identifique os recursos necessários para 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 o Centro de Gerenciamento no painel esquerdo.
Selecione Recursos conectados em seu projeto.
Identifique os três recursos que você precisa configurar: o OpenAI do Azure, a Pesquisa de IA do Azure e o Armazenamento de Blobs do Azure que corresponde ao workspaceblobstore.
Dica
Se você tiver vários recursos do OpenAI do Azure, use aquele que contém o 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 abrir o recurso no portal do Azure. (Para o workspaceblobstore, selecione Exibir 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 do navegador abertas, para o serviço Pesquisa, os serviços de IA do Azure e o contêiner de armazenamento de blobs. Mantenha todas as três novas guias abertas à medida que você passa por elas para configurar os recursos.
Habilitar a identidade gerenciada
Na guia do navegador do recurso do serviço Pesquisa no portal do Azure, habilite a identidade gerenciada:
- No painel esquerdo, em Configurações, selecione Identidade.
- Alterne o Status para Ativado.
- Selecione Salvar.
Na guia do navegador do recurso dos 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 Salvar.
Definir o controle de acesso para a pesquisa
Na guia navegador do recurso do serviço 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 obter o recurso especificado.
- Na página à esquerda no portal do Azure, selecione Controle de acesso (IAM).
- Selecione +Adicionar>Adicionar atribuição de função.
- Pesquise a função que você precisa atribuir e selecione-a. Em seguida, selecione Avançar.
- Ao atribuir uma função a si mesmo:
- Selecione Usuário, grupo ou entidade de serviço.
- Selecione Selecionar membros.
- Pesquise o seu nome e selecione-a.
- Ao atribuir uma função a outro recurso:
- Selecione Identidade gerenciada.
- 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 Pesquisa.
- Selecione o recurso na lista exibida. Pode haver apenas um recurso, mas você ainda precisa selecioná-lo.
- Continue por meio do assistente e selecione Examinar + atribuir para adicionar a atribuição de função.
Use estas etapas para atribuir funções para os recursos que você está configurando neste tutorial:
Atribua as seguintes funções na guia navegador do serviço 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 Pesquisa para a identidade gerenciada dos serviços de IA do Azure
- Colaborador para si mesmo (para localizar o Colaborador, alterne para a guia Funções de administrador com privilégios 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 navegador para os serviços de IA do Azure no portal do Azure:
- Colaborador do OpenAI dos Serviços Cognitivos para a identidade gerenciada do serviço Pesquisa
- Colaborador para si mesmo.
Atribua as seguintes funções na guia do navegador para o Armazenamento de Blobs do Azure no portal do Azure:
- Colaborador 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 Pesquisa
- Colaborador para si mesmo
Você terminou de configurar recursos. Você pode fechar as guias do navegador do portal do Azure agora, se desejar.
Adicione seus dados e tente o modelo de chat novamente
No início rápido do playground do Azure AI Foundry (que é um pré-requisito para este tutorial), observe como o seu modelo responde sem os seus dados. Agora, adicione os seus dados ao modelo para ajudá-lo a responder perguntas sobre os 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 as informações da amostra de produto de varejo que são relevantes para o cenário desse tutorial. Especificamente, o product_info_11.md
contém informações sobre os sapatos de caminhada TrailWalker relevantes para este exemplo de tutorial. Baixe o exemplo de dados do produto de varejo da Contoso Trek em um arquivo ZIP no seu computador local.
Siga estas etapas para adicionar seus dados ao playground do chat para ajudar o assistente a responder perguntas sobre seus produtos. Você não está alterando o próprio modelo implantado. Seus dados são armazenados separadamente e com segurança em sua assinatura do Azure.
Acesse o seu projeto no Azure AI Foundry.
Selecione Playgrounds.
Selecione Experimentar o playground de chat.
Selecione o modelo de chat implantado na lista suspensa Implantação.
No lado esquerdo do playground de chat, selecione Adicionar seus dados (VERSÃO PRÉVIA)>+ Adicionar uma nova fonte de dados.
No menu suspenso Fonte de dados, selecione Carregar arquivos.
Selecione Carregar>Carregar arquivos para procurar seus arquivos locais.
Selecione os arquivos que você deseja 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 mais tarde na mesma sessão do playground.
Selecione Carregar para carregar o arquivo em sua conta de armazenamento de Blobs do Azure. Em seguida, selecione Avançar.
Selecione o serviço Pesquisa de IA do Azure.
Para o Nome do índice de vetor, insira product-info e selecione Avançar.
Na página Configurações de pesquisa, em Configurações de vetor, desmarque a caixa de seleção Adicionar busca em vetores a esse recurso de pesquisa. Essa configuração ajuda a determinar como o modelo responde às solicitações. Em seguida, selecione Avançar.
Observação
Se você adicionar busca em vetores, mais opções estarão disponíveis aqui, com um custo adicional.
Revise suas configurações e selecione Criar índice de vetor.
No playground, você pode ver que a ingestão de dados está em andamento. Esse processo pode levar 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 custam 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 o 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.
Encontre o seu Grupo de Recursos no portal do Azure
Neste tutorial, o seu aplicativo Web é implantado no mesmo grupo de recursos que o hub do Azure AI Foundry. Posteriormente, você configurará a autenticação para o aplicativo Web no portal do Azure.
Siga estas etapas para navegar até o grupo de recursos no portal do Azure:
Acesse o seu projeto no Azure AI Foundry. Em seguida, selecione o Centro de gerenciamento no painel esquerdo.
No título Projeto, selecione Visão geral.
Selecione o nome do grupo de recursos para abri-lo no portal do Azure. Neste exemplo, o grupo de recursos é nomeado
rg-sdg-ai
.Agora você deve estar no portal do Azure, exibindo o conteúdo do grupo de recursos em que 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 em uma guia do navegador. Você retornará a ela mais tarde.
Implantar o aplicativo Web
A publicação cria um Serviço de Aplicativo do Azure na sua assinatura. Isso pode acarretar custos, dependendo do plano de preços que você selecionar. Quando terminar de usar o 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 poder 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 os seus próprios dados, mas pelo menos precisa de um modelo implantado, conforme descrito em 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 o 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 que o hub.
- Plano de preços: escolha um plano de preços para o aplicativo Web.
- Habilitar o histórico de chat no aplicativo Web: para o tutorial, a caixa do histórico de chat não está selecionada. Se você habilitar o recurso, os usuários terão acesso às consultas e respostas individuais anteriores deles. Para obter mais informações, consulte os comentários sobre o histórico de chat.
Selecione Implantar.
Aguarde até que o aplicativo seja implantado, o que pode levar alguns minutos.
Quando estiver pronto, o botão Iniciar estará habilitado na barra de ferramentas. Mas não inicie o aplicativo ainda e não feche a página do playground do chat – você voltará a ela mais tarde.
Configurar a autenticação de aplicativo Web
Por padrão, o aplicativo Web só pode ser acessado por você. Neste tutorial, você adicionará autenticação para restringir o acesso ao aplicativo aos membros do 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. O aplicativo não usa as informações de entrada do usuário de outra maneira além de verificar se ele é membro do seu locatário.
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 em que você implantou o aplicativo Web (talvez seja necessário atualizar a exibição do aplicativo Web).
Selecione o recurso do Serviço de Aplicativo na lista de recursos no grupo de recursos.
No menu esquerdo recolhível em Configurações, selecione Autenticação.
Se você vir que a Microsoft listou um provedor de identidade nesta página, nada mais é necessário. Você pode ignorar a próxima etapa.
Adicione um provedor de identidade com as seguintes configurações:
- Provedor de identidade: selecione a Microsoft como o provedor de identidade. As configurações padrão nessa página restringem o aplicativo apenas ao seu locatário, portanto, não será necessário alterar mais nada aqui.
- Tipo de locatário: força de trabalho
- Registro de aplicativo: criar um novo registro de aplicativo
- Nome: o nome do serviço de aplicativo Web
- Tipos de conta com suporte: locatário atual – locatário único
- Restringir o acesso: requer autenticação
- Solicitações não autenticadas: HTTP 302 Encontrado redirecionamento – recomendado para sites
Usar o aplicativo Web
Você está quase lá. Agora você pode testar o aplicativo Web.
Se você alterou as configurações, aguarde 10 minutos ou mais para que as configurações de autenticação entrem em vigor.
Retorne à guia do navegador que contém a página do playground de chat no portal do Azure AI Foundry.
Selecione Iniciar para iniciar o aplicativo Web implantado. Se solicitado, aceite a solicitação de permissões.
Se as configurações de autenticação ainda não tiverem entrado em vigor, feche a guia do navegador do aplicativo Web e retorne ao playground de chat no portal do Azure AI Foundry. Então aguarde um pouco mais e tente novamente.
Em seu aplicativo Web, você pode fazer a mesma pergunta que antes ("Quanto custam os sapatos de caminhada do 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.
Entender o histórico de chats
Com o recurso de histórico de chats, os usuários têm acesso a suas consultas e respostas individuais anteriores.
Você pode habilitar o histórico de chat ao implantar o aplicativo Web. Marque a caixa de seleção Habilitar histórico de chat no aplicativo Web.
Importante
A habilitação do histórico de chat criará uma instância do Cosmos DB em seu grupo de recursos e implicará em cobranças adicionais pelo armazenamento utilizado. Excluir seu aplicativo Web não exclui sua instância do Cosmos DB automaticamente. Para excluir a sua instância do Cosmos DB, juntamente com todos os chats armazenados, é necessário navegar até ao recurso relacionado no portal do Azure e exclui-lo.
Depois de habilitar o histórico de chats, os usuários poderão mostrá-lo e ocultá-lo no canto superior direito do aplicativo. Quando o histórico é mostrado, eles podem renomear ou excluir conversas. À medida que são conectados ao aplicativo, as conversas são ordenadas automaticamente da mais nova para a mais antiga 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 chats habilitada no estúdio, os usuários serão notificados sobre um erro de conexão, mas poderão continuar a usar o aplicativo Web sem acesso ao histórico de chats.
Atualizar o aplicativo Web
Use o playground para adicionar mais dados ou testar o modelo com cenários diferentes. 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.
Limpar os recursos
Para evitar gerar custos desnecessários no Azure, exclua os recursos criados neste início rápido, caso eles não sejam mais necessários. Para gerenciar os recursos, use o portal do Azure.