Criar e gerenciar sessões de computação de prompt flow no Azure AI Studio

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.

Você precisa de uma sessão de computação para executar prompt flows. Use o Azure AI Studio para criar e gerenciar sessões de computação de prompt flow.

Uma sessão de computação de prompt flow tem recursos de computação necessários para que o aplicativo seja executado, incluindo uma imagem do Docker que contém todos os pacotes de dependência necessários. Além da execução de fluxo, o Azure AI Studio usa a sessão de computação para garantir a precisão e a funcionalidade das ferramentas incorporadas no fluxo ao fazer atualizações no conteúdo do prompt ou do código.

Pré-requisitos

Entre no Azure AI Studio e selecione o prompt flow.

Criar uma sessão de computação

Ao iniciar uma sessão de computação, você pode usar as configurações padrão ou personalizar as configurações avançadas.

Iniciar uma sessão de computação com configurações padrão

Por padrão, a sessão de computação usa o ambiente definido em flow.dag.yaml na pasta de fluxo. Ele é executado em uma computação sem servidor com um tamanho de VM (máquina virtual) para o qual você tem cota suficiente em seu workspace.

  1. Acesse o seu projeto no Estúdio de IA do Azure.
  2. No painel esquerdo, selecione Fluxos e selecione o fluxo que você deseja executar.
  3. Na barra de ferramentas superior do prompt flow, selecione Iniciar sessão de computação.

Iniciar uma sessão de computação com configurações avançadas

Nas configurações avançadas, você pode selecionar o tipo de computação. Você pode escolher entre computação sem servidor e instância de computação.

  1. Acesse o seu projeto no Estúdio de IA do Azure.

  2. No painel esquerdo, selecione Fluxos e selecione o fluxo que você deseja executar.

  3. Na barra de ferramentas superior do prompt flow, selecione a seta suspensa no lado direito do botão Iniciar sessão de computação. Selecione Iniciar com configurações avançadas para personalizar a sessão de computação.

    Captura de tela do prompt flow com configurações padrão para iniciar uma sessão de computação em uma página de fluxo.

    Você pode escolher entre computação sem servidor e instância de computação.

    • Se escolher computação sem servidor, você poderá definir as seguintes configurações:

      • Personalizar o tamanho da VM que a sessão de computação usa.
      • Personalize o tempo ocioso, que salva o código excluindo a sessão de computação automaticamente se ela não estiver em uso.
      • Definir a identidade gerenciada atribuída pelo usuário. A sessão de computação usa essa identidade para efetuar pull de uma imagem base e instalar pacotes. A identidade gerenciada atribuída pelo usuário deve ter permissão de pull do Registro de Contêiner do Azure.

      Se você não definir a identidade atribuída pelo usuário, o prompt flow usará a identidade do usuário por padrão. Saiba mais sobre como criar e atualizar identidades atribuídas pelo usuário em um workspace.

      Captura de tela do prompt flow com configurações avançadas usando computação sem servidor para iniciar uma sessão de computação em uma página de fluxo.

    • Se escolher a instância de computação, você só poderá definir o tempo de desligamento ocioso.

      • Como essa é uma instância de computação existente, o tamanho da VM é fixo e não pode ser alterado em um lado da sessão de computação.

      • A identidade usada para essa sessão de computação também é definida na instância de computação, por padrão, ela usa a identidade do usuário. Saiba mais sobre como atribuir identidade à instância de computação

      • O tempo de desligamento ocioso é usado para definir o ciclo de vida da sessão de computação. Se a sessão de computação estiver ociosa pelo tempo definido, ela será excluída automaticamente. Se você tiver o desligamento ocioso habilitado em uma instância de computação, ele será desligado, mas não será excluído.

        Captura de tela do prompt flow com configurações avançadas usando a instância de computação para iniciar uma sessão de computação em uma página de fluxo.

  4. Selecione Avançar para especificar as configurações de imagem base. Use a imagem base padrão ou forneça uma imagem base personalizada. Se você escolher uma imagem base personalizada, forneça a URL da imagem e a marca de imagem. Há suporte apenas para imagens em um registro público do Docker ou no Registro de Contêiner do Azure(ACR). Se você especificar uma imagem no ACR, verifique se você (ou a identidade de gerenciamento atribuída pelo usuário) tem permissão de pull do ACR.

  5. Selecione Avançar para examinar suas configurações.

  6. Selecione Aplicar e iniciar a sessão de computação para iniciar a sessão de computação.

Gerenciar uma sessão de computação

Para gerenciar uma sessão de computação, selecione a Sessão de computação em execução na barra de ferramentas superior da página de fluxo.:

  • Alterar as configurações de sessão de computação abre a página de configuração da sessão de computação, na qual você pode definir o lado da VM e o tempo ocioso para a sessão de computação.
  • Instalar pacotes do requirements.txt Abre requirements.txt na interface do usuário do prompt flow para que você possa adicionar pacotes.
  • Exibir pacotes instalados mostra os pacotes que estão instalados na sessão de computação. Ele inclui os pacotes inseridos em imagem base e pacotes especificados no arquivo requirements.txt na pasta de fluxo.
  • Redefinir sessão de computação exclui a sessão de computação atual e cria uma nova com o mesmo ambiente. Se você encontrar um conflito de pacotes, experimente esta opção.
  • Interromper sessão de computação exclui a sessão de computação atual. Se não houver nenhuma sessão de computação ativa em uma computação sem servidor subjacente, o recurso de computação também será excluído. Se a sessão de computação estiver em uma instância de computação, interromper a sessão permitirá que a instância fique ociosa.

Captura de tela de ações de uma sessão de computação em uma página de fluxo.

Você pode personalizar o ambiente usado para executar esse fluxo adicionando pacotes no arquivo requirements.txt na pasta de fluxo. Depois de adicionar mais pacotes neste arquivo, escolha uma destas opções:

  • Salvar e instalar aciona pip install -r requirements.txt na pasta de fluxo. O processo pode levar alguns minutos, dependendo dos pacotes instalados.
  • Somente salvar apenas salva o arquivo requirements.txt. Você pode instalar os pacotes mais tarde por conta própria.

Captura de tela da opção para salvar e instalar pacotes de uma sessão de computação em uma página de fluxo.

Observação

Você pode alterar o local e até mesmo o nome do arquivo requirements.txt, mas não se esqueça de alterá-lo no arquivo flow.dag.yaml na pasta de fluxo.

Não fixe a versão de promptflow e promptflow-tools em requirements.txt, pois eles já estão incluídos na imagem base da sessão de computação.

Adicionar pacotes em um feed privado no Azure DevOps

Se quiser usar um feed privado no Azure DevOps, siga estas etapas:

  1. Crie uma identidade gerenciada atribuída pelo usuário e adicione-a na organização do Azure DevOps. Para saber mais, confira Usar entidades de serviço e identidades gerenciadas.

    Observação

    Se o botão Adicionar Usuários não estiver visível, é provável que você não tenha as permissões necessárias para executar essa ação.

  2. Adicionar ou atualizar identidades atribuídas pelo usuário ao seu projeto.

  3. Adicione {private} à URL do feed privado. Por exemplo, se você quiser instalar test_package de test_feed no Azure Devops, adicione -i https://{private}@{test_feed_url_in_azure_devops} no requirements.txt.

    -i https://{private}@{test_feed_url_in_azure_devops}
    test_package
    
  4. Especifique a identidade gerenciada atribuída pelo usuário em Iniciar com configurações avançadas se a sessão de computação não estiver em execução ou usar o botão Editar se a sessão de computação estiver em execução.

    Captura de tela que mostra a alternância para usar uma identidade gerenciada atribuída pelo usuário do workspace.

Alterar a imagem base

Por padrão, usamos a imagem do prompt flow mais recente como a imagem base. Se você quiser usar uma imagem base diferente, precisará criar sua própria imagem base. A imagem do docker deve ser criada a partir da imagem base do prompt flow, mcr.microsoft.com/azureml/promptflow/promptflow-runtime:<newest_version>. Se possível, use a versão mais recente da imagem básica.

  1. Abra o prompt flow.

  2. Na barra de ferramentas superior, selecione modo de arquivo bruto para habilitar a edição no editor de arquivos.

  3. Abra a seção Arquivos e selecione flow.dag.yaml.

    Captura de tela das ações para personalizar uma imagem base de um sessão de computação em uma página de fluxo.

  4. Especifique sua imagem na seção environment do arquivo flow.dag.yaml. Por exemplo, para usar a imagem <your-custom-image>, adicione o seguinte código:

    environment:
        image: <your-custom-image>
        python_requirements_txt: requirements.txt
    

Atualizar o runtime da instância de computação

Se você criou anteriormente um runtime de instância de computação, alterne-o para uma sessão de computação usando as seguintes etapas:

  • Prepare seu arquivo de requirements.txt na pasta de fluxo. Consulte Gerenciar uma sessão de computação para obter mais informações.

  • Se você criou um ambiente personalizado, obtenha a imagem da página de detalhes do ambiente e especifique-a no arquivo flow.dag.yaml na pasta de fluxo. Para saber mais, consulte Alterar a imagem base. Certifique-se de que você tem permissão acr pull para a imagem.

  • Você pode continuar a usar a instância de computação existente se quiser gerenciar manualmente o ciclo de vida.