Implantar um fluxo para inferência em tempo real
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.
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.
Tenha um fluxo de prompt pronto para implantação. Se você não tiver um, veja como criar um fluxo de prompt.
Opcional: Selecione Chat para testar se o fluxo está funcionando corretamente. Testar seu fluxo antes da implantação é uma prática recomendada recomendada.
Selecione Implantar no editor de fluxo.
Forneça as informações solicitadas na página Configurações básicas no assistente de implantação.
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.
Selecione Criar para implantar o fluxo de prompt.
Para exibir o status de sua implantação, selecione Modelos + pontos de extremidade na navegação à esquerda. Depois que a implantação for criada com êxito, você poderá selecioná-la para exibir os detalhes.
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.
Você pode usar o ponto de extremidade REST diretamente ou começar com um dos exemplos mostrados aqui.
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:latest
base padrão.
Definições básicas
Esta etapa permite que você defina as configurações básicas ao selecionar Implantar no editor de fluxo.
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.
No fluxo de trabalho de configurações avançadas, você também pode especificar marcas de implantação e selecionar um ambiente personalizado.
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 do Estúdio de IA | Função Leitor de Segredos de Ligação da Área de Trabalho do Azure Machine Learning OU uma função personalizada com Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action |
Obter as ligações do projeto |
Registo de contentor do projeto do Estúdio de IA | Pedidos do ACR | Extrair imagem de contentor |
Armazenamento predefinido do projeto do Estúdio de IA | Leitor de Dados do Armazenamento de Blobs | Carregar o modelo a partir do armazenamento |
Projeto do Estúdio de IA | Escritor de métricas da área 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.
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 proprietário da assinatura do Azure (que pode ser seu 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 as permissões necessárias na interface do usuário do portal do Azure seguindo as etapas.
Vá para a página de visão geral do projeto do Azure AI Studio no portal do Azure.
Selecione Controle de acesso e selecione Adicionar atribuição de função.
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.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.
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.
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.
(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.
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)