Compartilhar via


Implantar um fluxo para inferência em tempo real

Importante

Alguns dos recursos descritos nesse artigo podem estar disponíveis apenas na versão prévia. 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.

Após criar um prompt flow e testá-lo corretamente, talvez você deseje implantá-lo como um ponto de extremidade online. As implantações são hospedadas em um ponto de extremidade e podem receber dados de clientes e enviar respostas de volta em tempo real.

Você pode invocar o ponto de extremidade para inferência em tempo real para chats, copilot ou outro aplicativo de IA generativa. O prompt flow dá suporte à implantação de pontos de extremidade a partir de um fluxo ou de uma execução de teste em massa.

Neste artigo, você aprenderá como implantar um fluxo como um ponto de extremidade online gerenciado para inferência em tempo real. As etapas são:

  • Teste seu fluxo e deixe-o pronto para a implantação.
  • Crie uma implantação online.
  • Conceda permissões ao ponto de extremidade.
  • Testar o ponto de extremidade.
  • Consuma o ponto de extremidade.

Pré-requisitos

Para implantar um prompt flow como um ponto de extremidade online, você precisa:

  • Uma assinatura do Azure. Se você não tiver uma conta gratuita, crie uma antes de começar.
  • Um projeto do Estúdio de IA do Azure.

Observação

O ponto de extremidade online gerenciado dá suporte apenas à rede virtual gerenciada. Se o hub estiver na VNet personalizada, você precisará experimentar outras opções de implantação, como implantar em outras plataformas, como o Docker.

Criar uma implantação online

Agora que você criou um fluxo e o testou corretamente, é hora de criar seu ponto de extremidade online para inferência em tempo real.

Siga as etapas abaixo para implantar um prompt flow como um ponto de extremidade online no Estúdio de IA do Azure.

  1. Tenha um prompt flow pronto para ser implantado. Se você não tiver um, confira como criar um prompt flow.

  2. Opcional: selecione Chat para testar se o fluxo está funcionando corretamente. Testar o fluxo antes da implantação é a prática recomendada.

  3. Selecione Implantar no editor de fluxo.

    Captura de tela do botão implantar de um editor de prompt flow.

  4. Forneça as informações solicitadas na página Configurações Básicas do assistente de implantação.

    Captura de tela da página de configurações básicas no assistente de implantação.

  5. Selecione Examinar + Criar para revisar as configurações e criar a implantação. Caso contrário, você pode selecionar Avançar para prosseguir para as páginas de configurações avançadas.

  6. Selecione Criar para implantar o prompt flow.

    Captura de tela da página de configurações de revisão.

  7. Para exibir o status da sua implantação, selecione Implantações na navegação à esquerda. Uma vez que a implantação tenha sido criada com êxito, você poderá selecioná-la para exibir os detalhes.

    Captura de tela do estado de implantação em andamento.

  8. Selecione a guia Consumir para ver os códigos de exemplo que podem ser utilizados para consumir o modelo implantado no seu aplicativo.

    Observação

    Nessa página, você também pode ver a URL do ponto de extremidade que você pode usar para consumir o ponto de extremidade.

    Captura de tela da página de detalhes da implantação.

  9. Você pode usar o ponto de extremidade REST diretamente ou iniciar com uma das amostras mostradas aqui.

    Captura de tela dos exemplos de código e ponto de extremidade de implantação.

Para obter mais informações, veja as seguintes abaixo.

Dica

Para obter um guia de instruções sobre como implantar um modelo básico, confira Implantação de modelos com o Estúdio de IA do Azure.

Definições e configurações

Arquivo de texto de requisitos

Opcionalmente, você pode especificar pacotes extras necessários no requirements.txt. É possível encontrar requirements.txt no diretório raiz da pasta de fluxo. Quando você implanta o prompt flow no ponto de extremidade online gerenciado na interface do usuário, por padrão, a implantação usa o ambiente criado com base na imagem base especificada no flow.dag.yaml e as dependências especificadas no requirements.txt do fluxo.

Observação

A imagem base especificada no flow.dag.yaml precisa ser criada com base no mcr.microsoft.com/azureml/promptflow/promptflow-runtime-stable:<newest_version> de imagem base do prompt flow, e você pode encontrar a versão mais recente aqui. Se você não especificar a imagem base no flow.dag.yaml, a implantação usará a imagem base padrão mcr.microsoft.com/azureml/promptflow/promptflow-runtime-stable:latest.

Captura de tela da especificação da imagem base no arquivo YAML bruto do fluxo.

Captura de tela do arquivo de texto de requisitos de um fluxo.

Configurações Básicas

Esta etapa permite que você defina as configurações básicas da implantação.

Propriedade Descrição
Ponto de extremidade Você pode selecionar se deseja implantar um novo ponto de extremidade ou atualizar um ponto de extremidade existente.
Se você selecionar Novo, precisará especificar o nome do ponto de extremidade.
Nome da implantação — Dentro do mesmo ponto de extremidade, o nome da implantação deve ser exclusivo.
- Se você selecionar um ponto de extremidade existente e entrar com um nome de implantação existente, essa implantação será substituída pelas novas configurações.
Máquina virtual O tamanho da VM a ser usado para a implantação.
Contagem de instâncias O número de instâncias a serem usadas para a implantação. Especifique o valor na carga de trabalho esperada. Para alta disponibilidade, recomendamos que você defina o valor mínimo de 3 Reservamos mais 20% para executar atualizações.
Coleta de dados de inferência Se você habilitar essa opção, as entradas e saídas do fluxo serão coletadas automaticamente em um ativo de dados do Azure Machine Learning e poderão ser usadas para monitoramento posterior.

Após concluir as configurações básicas, você pode diretamente Examinar + Criar para concluir a criação ou pode selecionar Avançar para definir as configurações avançadas.

Configurações avançadas - Ponto de extremidade

Você pode especificar as seguintes configurações para o ponto de extremidade.

Captura de tela das configurações avançadas do ponto de extremidade.

No fluxo de trabalho de configurações avançadas, você também pode especificar marcas de implantação e selecionar um ambiente personalizado.

Captura de tela das configurações avançadas de implantação.

Tipo de autenticação

O método de autenticação para o ponto de extremidade. A autenticação baseada em chave fornece uma chave primária e secundária que não expira. A autenticação baseada em token do Azure Machine Learning fornece um token que é atualizado periodicamente de forma automática.

Tipo de identidade

O ponto de extremidade precisa acessar os recursos do Azure, como o Registro de Contêiner do Azure ou suas conexões de hub do Estúdio de IA para inferência. Você pode permitir que a permissão do ponto de extremidade acesse os recursos do Azure por meio da permissão para sua identidade gerenciada.

A identidade atribuída pelo sistema será criada automaticamente após a criação do ponto de extremidade, enquanto o usuário cria a identidade atribuída pelo usuário. Saiba mais sobre as identidades gerenciadas.

System-assigned

Observe que existe uma opção para Impor acesso a segredos de conexão (versão prévia). Se seu fluxo usar conexões, o ponto de extremidade precisará acessar as conexões para realizar a inferência. Por padrão, a opção está habilitada; o ponto de extremidade recebe a função Leitor de Segredos de Conexão do Workspace do Azure Machine Learning para acessar conexões automaticamente se você tiver permissão de leitor de segredos de conexão. Se você desabilitar essa opção, precisará conceder manualmente essa função à identidade atribuída pelo sistema ou solicitar ajuda ao administrador. Saiba mais sobre como conceder permissão à identidade do ponto de extremidade.

Atribuída pelo usuário

Quando você cria a implantação, o Azure tenta extrair a imagem de contêiner do usuário do Registro de Contêiner do Azure (ACR) do hub do Estúdio de IA do Azure e monta o modelo de usuário e os artefatos de código no contêiner do usuário da conta de armazenamento do hub.

Se o ponto de extremidade associado tiver sido criado com identidade atribuída pelo usuário, a identidade atribuída pelo usuário deverá receber as seguintes funções antes da criação da implantação; caso contrário, a criação da implantação falhará.

Escopo Função Por que ele é necessário
Projeto do Estúdio de IA Função Leitor de Segredos de Conexão do Workspace do Azure Machine LearningOU uma função personalizada com Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action Obter conexões do projeto
Registro de Contêiner do projeto do Estúdio de IA Pull do ACR Extração da imagem de contêiner
Armazenamento padrão do projeto do Estúdio de IA Leitor de Dados do Blob de Armazenamento Carregar modelo a partir do armazenamento
Projeto do Estúdio de IA gravador de métricas do espaço de trabalho Depois de implantar o ponto de extremidade, se você quiser monitorar as métricas relacionadas ao ponto de extremidade, como utilização de CPU/GPU/Disco/Memória, precisará conceder essa permissão à identidade.

Opcional

Confira diretrizes detalhadas sobre como conceder permissões à identidade do ponto de extremidade em Conceder permissões ao ponto de extremidade.

Importante

Se o fluxo usar conexões de autenticação baseadas no Microsoft Entra ID, independentemente de usar a identidade atribuída pelo sistema ou pelo usuário, você sempre precisará conceder à identidade gerenciada as funções apropriadas dos recursos correspondentes para que ela possa fazer chamadas à API para esse recurso. Por exemplo, se a conexão do OpenAI do Azure usar a autenticação baseada no Microsoft Entra ID, você precisará conceder à sua identidade gerenciada de ponto de extremidade a função Usuário OpenAI dos Serviços Cognitivos ou Colaborador OpenAI dos Serviços Cognitivos dos recursos correspondentes do OpenAI do Azure.

Configurações avançadas – Saídas e Conexões

Nesta etapa, você pode exibir todas as saídas de fluxo e especificar quais saídas incluir na resposta do ponto de extremidade que você implantar. Por padrão, todas as saídas de fluxo são selecionadas.

Você também pode especificar as conexões usadas pelo ponto de extremidade quando ele executa a inferência. Por padrão, eles são herdados do fluxo.

Uma vez configuradas e revisadas todas as etapas acima, você pode selecionar Revisar + Criar para concluir a criação.

Captura de tela das configurações avançadas de saída e conexões.

Observação

Espere que a criação do ponto de extremidade leve aproximadamente mais de 15 minutos, pois ela contém várias fases, incluindo a criação do ponto de extremidade, registro do modelo, criação da implantação etc.

Você pode entender o progresso da criação da implantação por meio da notificação iniciada pela Implantação do prompt flow.

Habilitar o rastreamento ativando o diagnóstico do Application Insights (versão prévia)

Se você habilitar essa opção, os dados de rastreamento e as métricas do sistema durante o tempo de inferência (como contagem de tokens, latência de fluxo, solicitação de fluxo etc.) serão coletados no Application Insights vinculado ao workspace. Para saber mais, confira os dados e métricas de rastreamento de serviço do prompt flow.

Conceder permissões ao ponto de extremidade

Importante

A concessão de permissões (adição de atribuição de função) só está habilitada para o Proprietário dos recursos específicos do Azure. Talvez seja necessário pedir ajuda ao seu administrador de TI.

É recomendável conceder funções à identidade atribuída pelo usuárioantes da criação da implantação. Pode levar mais de 15 minutos para que a permissão concedida entre em vigor.

Você pode conceder todas as permissões na interface do usuário do portal do Microsoft Azure executando as etapas a seguir.

  1. Acesse a página de visão geral do projeto do Estúdio de IA do Azure no portal do Azure.

  2. Selecione Controle de acesso e Adicionar atribuição de função. Captura de tela do controle Acesso com a atribuição de função de adição realçada.

  3. Selecione Leitor de Segredos de Conexão do Workspace do Azure Machine Learning, acesse Avançar.

    Observação

    A função Leitor de Segredos de Conexão do Workspace do Azure Machine Learning é uma função interna que tem permissão para obter conexões de hub.

    Se você desejar usar uma função personalizada, verifique se a função personalizada tem a permissão de Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action. Saiba mais sobre como criar funções personalizadas.

  4. Selecione Identidade gerenciada e selecione membros.

    Para identidade atribuída pelo sistema, selecione Ponto de extremidade online de aprendizado de máquina em Identidade gerenciada atribuída pelo sistema e pesquise por nome do ponto de extremidade.

    Para identidade atribuída pelo usuário, selecione Identidade gerenciada atribuída pelo usuário e pesquise por nome de identidade.

  5. Quanto à identidade atribuída pelo usuário, você também precisa conceder permissões para o registro de contêiner do espaço de trabalho e à conta de armazenamento. Você pode encontrar o registro de contêiner e a conta de armazenamento na página de visão geral do hub no portal do Azure.

    Captura de tela da página de visão geral com o registro de armazenamento e contêiner realçado.

    Acesse a página de visão geral do registro de contêiner do hub, selecione Controle de acessoe selecione Adicionar a atribuição de função, e atribua Pull do ACR |Efetuar pull da imagem de contêiner na identidade do ponto de extremidade.

    Acesse a página de visão geral de armazenamento padrão do hub, selecione Controle de acessoe selecione Adicionar atribuição de função, e atribua Leitor de Dados de Blob de Armazenamento à identidade do ponto de extremidade.

  6. (opcional) Quanto à identidade atribuída pelo usuário, se você quiser monitorar as métricas relacionadas ao ponto de extremidade, como uso de CPU/GPU/Disco/Memória, você também precisará conceder a função do Gravador de métricas do Workspace de hub para a identidade.

Verifique o status do endpoint

Haverá notificações depois que você concluir o assistente de implantação. Após a criação bem-sucedida do ponto de extremidade e da implantação, você pode selecionar Exibir detalhes na notificação para a página de detalhes da implantação.

Também é possível acessar diretamente a página Implantações na navegação à esquerda, selecionar a implantação e verificar o status.

Testar o ponto de extremidade

Na página de detalhes da implantação, alterne para a guia Teste.

Para pontos de extremidade implantados a partir do fluxo padrão, você pode entrar valores no editor de formulários ou no editor JSON para testar o ponto de extremidade.

Testar o ponto de extremidade implantado de um fluxo de chat

Para pontos de extremidade implantados do fluxo de chat, você pode testá-lo em uma janela de chat imersiva.

O chat_input foi definido durante o desenvolvimento do fluxo de chat. Você pode inserir a mensagem chat_input na caixa de entrada. Se seu fluxo tiver várias entradas, o painel Entradas no lado direito servirá para você especificar os valores de outras entradas além da chat_input.

Consumir o ponto de extremidade

Na página de detalhes da implantação, alterne para a guia Consumir. Você pode encontrar o ponto de extremidade REST e a chave/token para consumir seu ponto de extremidade. Também existe um código de exemplo para você consumir o ponto de extremidade em diferentes idiomas.

Captura de tela do código de exemplo de consumo dos pontos de extremidade.

Você precisa inserir valores para RequestBody ou data e api_key. Por exemplo, se o fluxo tiver duas entradas location e url, você precisará especificar os dados conforme mostrado a seguir.

 {
"location": "LA",
"url": "<the_url_to_be_classified>"
}

Limpar os recursos

Se você não for usar o ponto de extremidade após concluir esse tutorial, deverá excluí-lo.

Observação

A exclusão completa pode levar, aproximadamente, 20 minutos.

Próximas etapas