Partilhar via


Implantar um fluxo para inferência em tempo real

Importante

Alguns dos recursos descritos neste artigo podem estar disponíveis apenas na visualização. 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.

Depois de criar um fluxo de prompt e testá-lo corretamente, convém 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 bate-papo, copiloto ou outro aplicativo de IA generativa. O fluxo de prompt suporta a implantação de ponto de extremidade a partir de um fluxo ou de uma execução de teste em massa.

Neste artigo, você aprenderá a implantar um fluxo como um ponto de extremidade online gerenciado para inferência em tempo real. Os passos que você toma são:

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

Pré-requisitos

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

  • Uma subscrição do Azure. Se não tiver uma, crie uma conta gratuita antes de começar.
  • Um projeto do Azure AI Studio.

Criar uma implantação online

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

Siga as etapas abaixo para implantar um fluxo de prompt como um ponto de extremidade online no Azure AI Studio.

  1. Tenha um fluxo de prompt pronto para implantação. Se você não tiver um, veja como criar um fluxo de prompt.

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

  3. Selecione Implantar no editor de fluxo.

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

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

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

  5. Selecione Rever + Criar para rever as definições e criar a implementaçã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 fluxo de prompt.

    Captura de ecrã da página de definições de revisão.

  7. Para exibir o status de sua implantação, selecione Implantações na navegação à esquerda. Depois que a implantação for 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 exemplos de código que podem ser usados para consumir o modelo implantado em seu aplicativo.

    Nota

    Nesta 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 começar com um dos exemplos mostrados aqui.

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

Para obter mais informações, consulte as seções abaixo.

Gorjeta

Para obter um guia sobre como implantar um modelo base, consulte Implantando modelos com o Azure AI Studio.

Definições e configurações

Arquivo de texto de requisitos

Opcionalmente, você pode especificar pacotes extras necessários no requirements.txt. Você pode encontrar requirements.txt na pasta raiz da sua pasta de fluxo. Quando você implanta flow.dag.yaml o fluxo de prompt para o 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 e nas dependências especificadas no requirements.txt do fluxo.

Nota

A imagem base especificada no flow.dag.yaml deve ser criada com base na imagem mcr.microsoft.com/azureml/promptflow/promptflow-runtime-stable:<newest_version> base do fluxo de prompt 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 mcr.microsoft.com/azureml/promptflow/promptflow-runtime-stable:latestbase padrão.

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.

Definições básicas

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

Property Description
Ponto Final 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 implementação - Dentro do mesmo ponto de extremidade, o nome da implantação deve ser exclusivo.
- Se você selecionar um ponto de extremidade existente e inserir 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 como pelo menos 3. Reservamos um extra de 20% para a realização de upgrades.
Recolha de dados de inferência Se você habilitar isso, as entradas e saídas de fluxo serão coletadas automaticamente em um ativo de dados do Azure Machine Learning e poderão ser usadas para monitoramento posterior.

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

Configurações avançadas - Endpoint

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

Captura de ecrã das definições avançadas do ponto final.

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.

Authentication type

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 automaticamente.

Tipo de identidade

O ponto de extremidade precisa acessar recursos do Azure, como o Registro de Contêiner do Azure ou suas conexões de hub do AI Studio para inferência. Você pode permitir que a permissão de ponto de extremidade acesse os recursos do Azure dando permissão à sua identidade gerenciada.

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

Atribuída pelo sistema

Você percebe que há uma opção se Impor acesso a segredos de conexão (visualização). Se seu fluxo usa conexões, o ponto de extremidade precisa acessar conexões para executar inferência. A opção está habilitada por padrão, o ponto de extremidade recebe a função Leitor de Segredos de Conexão do Espaço de Trabalho do Azure Machine Learning para acessar conexões automaticamente se você tiver permissão de leitor de segredos de conexão. Se você desativar essa opção, precisará conceder essa função à identidade atribuída ao sistema manualmente por si mesmo ou pedir ajuda ao administrador. Saiba mais sobre como conceder permissão à identidade do ponto de extremidade.

Atribuída pelo utilizador

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

Se você criou o ponto de extremidade associado com a Identidade Atribuída pelo Usuário, a identidade atribuída pelo usuário deve receber as seguintes funções antes da criação da implantação, caso contrário, a criação da implantação falhará.

Âmbito Função Por que motivo é necessária
Projeto AI Studio Função Leitor de Segredos de Conexão do Espaço de Trabalho do Azure Machine Learning OU uma função personalizada comMicrosoft.MachineLearningServices/workspaces/connections/listsecrets/action Obter conexões de projeto
Registro de contêiner do projeto AI Studio Puxar ACR Extrair imagem de contentor
Armazenamento padrão do projeto AI Studio Leitor de Dados do Armazenamento de Blobs Carregar o modelo a partir do armazenamento
Projeto AI Studio Gravador de métricas do espaço de trabalho Depois de implementar o ponto final, se pretender monitorizar as métricas relacionadas com o ponto final, tais como a utilização da CPU/GPU/Disco/Memória, terá de conceder esta permissão à identidade.

Opcional

Consulte orientações detalhadas sobre como conceder permissões à identidade do ponto de extremidade em Conceder permissões ao ponto de extremidade.

Importante

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

Configurações avançadas - Saídas & 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 implantado. 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.

Depois de configurar e revisar 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.

Nota

Espere que a criação do endpoint demore aproximadamente mais de 15 minutos, pois contém vários estágios, incluindo a criação do ponto de extremidade, o registro do modelo, a 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 fluxo de prompt.

Habilite o rastreamento ativando o diagnóstico do Application Insights (visualização)

Se você habilitar isso, 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 e etc.) serão coletados no Application Insights vinculado ao espaço de trabalho. Para saber mais, consulte Fluxo de prompt servindo dados e métricas de rastreamento.

Conceder permissões ao ponto de extremidade

Importante

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

É recomendável conceder funções à identidade atribuída pelo usuário antes 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 Azure seguindo as etapas.

  1. Vá para a página de visão geral do projeto do Azure AI Studio no portal do Azure.

  2. Selecione Controle de acesso e selecione Adicionar atribuição de função. Captura de ecrã do controlo de acesso com a atribuição de adicionar função realçada.

  3. Selecione Azure Machine Learning Workspace Connection Secrets Reader, vá para Next.

    Nota

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

    Se você quiser usar uma função personalizada, verifique se a função personalizada tem a permissão do 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 do 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. Para identidade atribuída pelo usuário, você também precisa conceder permissões ao registro do contêiner do hub 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.

    Vá para a página de visão geral do registro do contêiner de hub, selecione Controle de acesso, selecione Adicionar atribuição de função e atribuir pull ACR |Puxe a imagem do contêiner para a identidade do ponto de extremidade.

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

  6. (facultativo) Para identidade atribuída pelo usuário, se você quiser monitorar as métricas relacionadas ao ponto final, como a utilização de CPU/GPU/Disco/Memória, também precisará conceder a função de gravador de métricas do espaço de trabalho de hub à identidade.

Verificar o estado do ponto final

Haverá notificações depois de concluir o assistente de implantação. Depois que o ponto de extremidade e a implantação forem criados com êxito, você poderá selecionar Exibir detalhes na página de detalhes da notificação para implantação.

Você também pode ir diretamente para a página Implantações na navegação à esquerda, selecionar a implantação e verificar o status.

Testar o parâmetro de avaliação

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 inserir valores no editor de formulários ou no editor JSON para testar o ponto de extremidade.

Testar o ponto de extremidade implantado a partir de um fluxo de bate-papo

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

O chat_input foi definido durante o desenvolvimento do fluxo de bate-papo. Você pode inserir a chat_input mensagem na caixa de entrada. Se o seu fluxo tiver várias entradas, o painel Entradas no lado direito é para você especificar os valores para outras entradas além do 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. Há também um código de exemplo para você consumir o ponto de extremidade em diferentes idiomas.

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

Você precisa inserir valores para RequestBody ou data e api_key. Por exemplo, se o seu fluxo tiver 2 entradas location e url, então você precisará especificar os dados da seguinte forma.

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

Clean up resources (Limpar recursos)

Se você não vai usar o ponto de extremidade depois de concluir este tutorial, você deve excluir o ponto de extremidade.

Nota

A eliminação completa pode demorar aproximadamente 20 minutos.

Passos Seguintes

  • Saiba mais sobre o que pode fazer no Azure AI Studio
  • Obtenha respostas às perguntas frequentes no artigo de perguntas frequentes sobre a IA do Azure
  • [Habilite, rastreie e colete comentários para sua implantação] (./desenvolver/trace-production-sdk.md)