Integrar fluxo de prompts com DevOps para aplicações baseadas em LLM

Aviso

O desenvolvimento da funcionalidade Prompt Flow terminou a 20 de abril de 2026. A rubrica será totalmente retirada a 20 de abril de 2027. Na data de reforma, o Prompt Flow entra em modo apenas de leitura. Os seus fluxos existentes continuarão a funcionar até essa data.

Ação recomendada: Migre as suas cargas de trabalho Prompt Flow para Microsoft Agent Framework antes de 20 de abril de 2027.

O fluxo de pedidos do Azure Machine Learning é um método baseado principalmente em código, acessível e fácil de usar, para desenvolver e iterar fluxos para o desenvolvimento de aplicações baseadas em grandes modelos de linguagem (LLM). Prompt flow fornece um SDK, um CLI, uma extensão para o Visual Studio Code e uma interface de fluxo de autoria. Estas ferramentas facilitam o desenvolvimento de fluxos locais, a execução e avaliação de fluxos locais, o desencadeamento e a transição de fluxos entre ambientes de trabalho locais e na cloud.

Pode combinar a experiência do fluxo de prompts e as capacidades de código com operações de desenvolvimento (DevOps) para melhorar os seus fluxos de trabalho de desenvolvimento de aplicações baseados em LLM. Este artigo foca-se na integração de fluxo de prompt e DevOps para aplicações baseadas em LLM do Azure Machine Learning.

O diagrama seguinte mostra a interação do desenvolvimento de fluxo de prompts, tanto local como na cloud, com o DevOps.

Diagrama mostrando o seguinte fluxo: criar fluxo, desenvolver e testar fluxo, versionamento no repositório de código, submissão de execuções para a cloud, e estreia e iteração.

Pré-requisitos

Use uma experiência de código em fluxo de prompts

O desenvolvimento de aplicações baseadas em LLM geralmente segue um processo padronizado de engenharia de aplicações que inclui repositórios de código-fonte e pipelines de integração contínua/implementação contínua (CI/CD). Este processo promove um desenvolvimento simplificado, controlo de versões e colaboração entre os membros da equipa.

A integração do DevOps com o sistema de fluxo de execução de prompts oferece aos programadores um processo de iteração GenAIOps ou LLMOps mais eficiente, com as seguintes características e principais benefícios:

  • Versionamento de fluxo no repositório de código. Podes definir ficheiros de fluxo em formato YAML, e eles mantêm-se alinhados com ficheiros fonte referenciados na mesma estrutura de pastas.

  • Integração de execução de fluxo com pipelines CI/CD. Pode integrar sem problemas o fluxo de prompts nos seus pipelines de CI/CD e no processo de entrega, usando a CLI ou o SDK de fluxo de prompts para executar automaticamente fluxos de tarefas.

  • Transição suave entre local e cloud. Podes facilmente exportar a tua pasta de fluxo para o repositório de código local ou upstream para controlo de versões, desenvolvimento local e partilha. Também pode importar facilmente a pasta de fluxo de volta para o Azure Machine Learning para autoria, testes e implementação adicionais usando recursos na cloud.

Código de fluxo de acesso rápido

Cada fluxo de prompt tem uma estrutura de pastas de fluxo contendo ficheiros de código essenciais que definem o fluxo. A estrutura de pastas organiza o seu fluxo, facilitando transições mais suaves entre local e cloud.

O Azure Machine Learning fornece um sistema de ficheiros partilhado para todos os utilizadores do espaço de trabalho. Após a criação do fluxo, uma pasta de fluxo correspondente é automaticamente gerada e armazenada no diretório Users/<username>/promptflow.

Captura de ecrã da criação de fluxo de trabalho padrão que mostra um novo fluxo.

Trabalho com ficheiros de código de fluxo

Depois de criares um fluxo no Estúdio do Azure Machine Learning, podes ver, editar e gerir os ficheiros de fluxo na secção Ficheiros da página de autoria de fluxos. Quaisquer modificações que faças aos ficheiros refletem-se diretamente no armazenamento de partilha de ficheiros.

Captura de ecrã de uma página típica de criação de fluxos que destaca o painel Ficheiros.

A pasta de fluxo para um fluxo baseado em LLM contém os seguintes ficheiros-chave.

  • flow.dag.yaml é o ficheiro principal de definição de fluxo em formato YAML. Este ficheiro é fundamental para a autoria e configuração do fluxo de prompts. O ficheiro inclui informações sobre entradas, saídas, nós, ferramentas e variantes que o fluxo utiliza.

  • Ficheiros de código-fonte geridos pelo utilizador em formato Python (.py) ou Jinja 2 (.jinja2) configuram as ferramentas e nós no fluxo. A ferramenta Python utiliza ficheiros Python para definir lógica Python personalizada. A ferramenta de prompts e a ferramenta LLM usam ficheiros Jinja 2 para definir o contexto do prompt.

  • Ficheiros não-fonte, como utilidade e ficheiros de dados, podem ser incluídos na pasta de fluxo juntamente com os ficheiros de origem.

Para visualizar e editar o código bruto do flow.dag.yaml e dos ficheiros fonte no editor de ficheiros, ative o modo de ficheiro Raw.

Captura de ecrã do modo de ficheiro Raw num fluxo padrão.

Alternativamente, pode aceder e editar todas as pastas e ficheiros do fluxo a partir da página Estúdio do Azure Machine Learning Notebooks.

Captura de ecrã dos Notebooks no Azure Machine Learning com a pasta de prompt flow a mostrar os ficheiros.

Faça o download e efetue o check-in do código de fluxo

Para verificar o seu fluxo no repositório de código, exporte a pasta de fluxo do Estúdio do Azure Machine Learning para a sua máquina local. Selecione o ícone de download na secção Ficheiros da página de autoria de fluxo para descarregar um pacote ZIP contendo todos os ficheiros de fluxo. Depois podes adicionar esse ficheiro ao teu repositório de código ou descompactá-lo para trabalhar com os ficheiros localmente.

Captura de ecrã a mostrar o ícone de download no explorador de ficheiros.

Para mais informações sobre integração DevOps com Azure Machine Learning, veja integração Git para Azure Machine Learning.

Desenvolver e testar localmente

À medida que refina e ajusta o seu fluxo ou prompts durante o desenvolvimento iterativo, pode realizar múltiplas iterações localmente dentro do seu repositório de código. A versão da comunidade VS Code, a extensão de fluxo do VS Code Prompt e o SDK e CLI locais de fluxo de prompts facilitam o desenvolvimento e testes locais puros sem ligação ao Azure.

Trabalhar localmente permite-te fazer e testar alterações rapidamente, sem precisar de atualizar o repositório principal de código de cada vez. Para mais detalhes e orientações sobre o uso de versões locais, consulte a comunidade GitHub Prompt flow.

Use a extensão de fluxo do VS Code Prompt

Ao usar a extensão Prompt flow VS Code, pode facilmente criar o seu fluxo localmente no editor VS Code com uma experiência de interface semelhante à da cloud.

Para editar ficheiros localmente no VS Code com a extensão Prompt flow:

  1. No VS Code, com a extensão Prompt flow ativada, abre uma pasta de prompt flow.

  2. Abra o ficheiro flow.dag.yaml e selecione o link do editor Visual no topo do ficheiro.

    Captura de ecrã do link do editor Visual no topo de um ficheiro de definição de fluxo no VS Code.

  3. Use o editor visual de fluxo de prompts para fazer alterações ao seu fluxo, como ajustar os prompts em variantes ou adicionar mais nós.

    Captura de ecrã do editor de fluxo de prompts visuais no VS Code.

  4. Para testar o seu fluxo, selecione o ícone Executar no topo do editor visual, ou para testar qualquer nó, selecione o ícone Executar no topo do nó.

    Captura de ecrã do VS Code a mostrar um fluxo ou um nó a correr no editor visual.

Utilize o SDK de fluxo de instruções e a CLI

Se preferir trabalhar diretamente em código, ou usar Jupyter, PyCharm, Visual Studio ou outro ambiente de desenvolvimento integrado (IDE), pode modificar diretamente o código YAML no ficheiro flow.dag.yaml.

Captura de ecrã de um ficheiro YAML no VS Code que destaca o diretório de entrada e fluxo predefinido.

Pode então iniciar uma única execução de prompt flow para testes usando a CLI ou SDK no terminal da seguinte forma.

Para desencadear uma execução a partir do diretório de trabalho, execute o seguinte código:

pf flow test --flow <directory-name>

Os valores de retorno são os registos de teste e as saídas.

Captura de ecrã da saída do teste de fluxo no PowerShell.

Submeter execuções de tarefa para a nuvem a partir de um repositório local

Quando estiver satisfeito com os resultados dos seus testes locais, pode usar a CLI ou SDK de prompt flow para submeter execuções à cloud a partir do repositório local. O procedimento e o código seguintes baseiam-se no projeto demo Web Classification em GitHub. Podes clonar o repositório do projeto ou descarregar o código de fluxo de prompt para a tua máquina local.

Instale o SDK de fluxo de prompts

Instale o SDK/CLI do fluxo de prompts do Azure executando pip install promptflow[azure] promptflow-tools.

Se estiveres a usar o projeto demo, obtém o SDK e outros pacotes necessários instalando requirements.txt com
pip install -r <path>/requirements.txt.

Ligue-se ao seu espaço de trabalho Azure Machine Learning

az login

Envia o fluxo e cria uma execução

Prepare o ficheiro run.yml para definir a configuração deste fluxo executado na cloud.

$schema: https://azuremlschemas.azureedge.net/promptflow/latest/Run.schema.json
flow: <path-to-flow>
data: <path-to-flow>/<data-file>.jsonl

column_mapping:
  url: ${data.url}

# Define cloud compute resource

resources:
  instance_type: <compute-type>

# If using compute instance compute type, also specify instance name
#  compute: <compute-instance-name> 

# Specify connections

  <node-name>:
    connection: <connection-name>
    deployment_name: <deployment-name>

Pode especificar o nome da ligação e o nome de implementação de cada ferramenta no fluxo que requer uma ligação. Se não especificares o nome da ligação e da implementação, a ferramenta usa a ligação e a implementação no ficheiro flow.dag.yaml . Use o seguinte código para formatar as ligações:

...
connections:
  <node-name>:
    connection: <connection-name>
      deployment_name: <deployment-name>
...

Cria a corrida.

pfazure run create --file run.yml

Criar uma execução de fluxo de avaliação

Prepare o ficheiro run_evaluation.yml para definir a configuração deste fluxo de avaliação executado na cloud.

$schema: https://azuremlschemas.azureedge.net/promptflow/latest/Run.schema.json
flow: <path-to-flow>
data: <path-to-flow>/<data-file>.jsonl
run: <id-of-base-flow-run>
column_mapping:
  <input-name>: ${data.<column-from-test-dataset>}
  <input-name>: ${run.outputs.<column-from-run-output>}

resources:
  instance_type: <compute-type>
  compute: <compute_instance_name> 

connections:
  <node-name>:
    connection: <connection-name>
    deployment_name: <deployment-name>
  <node-name>:
    connection: <connection-name>
    deployment_name: <deployment-name>

Crie a execução da avaliação.

pfazure run create --file run_evaluation.yml

Ver resultados das corridas

Ao submeter a execução do fluxo para a nuvem, a URL da execução na nuvem é retornada. Pode abrir o URL para ver os resultados da execução no Estúdio do Azure Machine Learning. Também pode executar os seguintes comandos CLI ou SDK para visualizar os resultados da execução.

Transmita os registos

pfazure run stream --name <run-name>

Ver saídas de execução

pfazure run show-details --name <run-name>

Ver métricas de execução de avaliação

pfazure run show-metrics --name <evaluation-run-name>

Integrar com DevOps

Uma combinação de um ambiente de desenvolvimento local e um sistema de controlo de versões como o Git é tipicamente mais eficaz para desenvolvimento iterativo. Podes fazer modificações e testar o teu código localmente, depois fazer commit das alterações no Git. Este processo cria um registo contínuo das suas alterações e oferece a possibilidade de reverter a versões anteriores, se necessário.

Quando precisares de partilhar fluxos entre diferentes ambientes, podes enviá-los para um repositório de código baseado na cloud como o GitHub ou o Repositórios do Azure. Esta estratégia permite-lhe aceder à versão mais recente do código a partir de qualquer localização e fornece ferramentas para colaboração e gestão de código.

Ao seguir estas práticas, as equipas podem criar um ambiente colaborativo fluido, eficiente e produtivo para o desenvolvimento rápido do fluxo.

Por exemplo, para pipelines LLMOps de ponta a ponta que executam fluxos de classificação web, consulte Configurar de ponta a ponta GenAIOps com Flow de prompts e GitHub e o projeto de demonstração do GitHub Classificação Web.

Desencadear o fluxo em pipelines de Integração Contínua

Depois de desenvolveres e testares com sucesso o teu flow e o registares como versão inicial, estás pronto para ajustar e testar iterações. Nesta fase, pode desencadear execuções de fluxo, incluindo testes em lote e execuções de avaliação, usando a CLI de fluxo de prompt para automatizar passos no seu pipeline de CI.

Ao longo do ciclo de vida das suas iterações de fluxo, pode usar a CLI para automatizar as seguintes operações:

  • Executar o fluxo de prompt após um pull request
  • Realizar uma avaliação rápida do fluxo para garantir que os resultados são de alta qualidade
  • Registo de modelos de fluxo de prompt
  • Implementação de modelos de fluxo prompt

Use a interface do Studio para desenvolvimento contínuo

Em qualquer fase do desenvolvimento de fluxos, podes voltar à interface do Estúdio do Azure Machine Learning e usar recursos e experiências cloud para fazer alterações ao teu fluxo.

Para continuar a desenvolver e trabalhar com as versões mais atualizadas dos ficheiros de fluxo, pode aceder a um terminal na página do Bloco de Notas e extrair os ficheiros de fluxo mais recentes do seu repositório. Ou pode importar diretamente uma pasta de fluxo local como um novo rascunho de fluxo para fazer uma transição fluida entre desenvolvimento local e nuvem.

Captura de ecrã do Criar um novo ecrã de fluxo com o Upload para local destacado.

Implementar o fluxo como um endpoint online

O último passo para a produção é implementar o seu fluxo como um endpoint online no Azure Machine Learning. Este processo permite-lhe integrar o seu fluxo na aplicação e torná-lo disponível para uso. Para mais informações sobre como implementar o seu fluxo, consulte Implementar fluxos para o endpoint online gerido do Azure Machine Learning para inferência em tempo real.

Colaborar no desenvolvimento de fluxos

A colaboração entre os membros da equipa pode ser essencial ao desenvolver uma aplicação baseada em LLM com fluxo rápido. Os membros da equipa podem estar a criar e testar o mesmo fluxo, a trabalhar em diferentes aspetos do fluxo ou a fazer alterações e melhorias iterativas em simultâneo. Esta colaboração requer uma abordagem eficiente e simplificada na partilha de código, acompanhamento de modificações, gestão de versões e integração de alterações no projeto final.

O SDK/CLI do Prompt Flow e a extensão Prompt Flow para o VS Code facilitam a colaboração no desenvolvimento de fluxos de código dentro de um repositório de código-fonte. Pode usar um sistema de controlo de versões baseado na cloud como o GitHub ou o Repositórios do Azure para acompanhar alterações, gerir versões e integrar essas modificações no projeto final.

Siga as melhores práticas de desenvolvimento colaborativo

  1. Configura um repositório centralizado de código.

    O primeiro passo do processo colaborativo envolve configurar um repositório de código como base para o código do projeto, incluindo o código do fluxo de prompts. Este repositório centralizado permite uma organização eficiente, acompanhamento de alterações e colaboração entre os membros da equipa.

  2. Crie e teste o seu fluxo localmente no VS Code com a extensão Prompt flow.

    Uma vez configurado o repositório, os membros da equipa podem usar VS Code com a extensão Prompt flow para autoria local e testes de entrada única do fluxo. O ambiente integrado de desenvolvimento padronizado promove a colaboração entre múltiplos membros que trabalham em diferentes aspetos do fluxo.

    Captura de ecrã do desenvolvimento local.

  3. Use o pfazure CLI ou SDK para submeter execuções em lote e execuções de avaliação dos fluxos locais para a nuvem.

    Após o desenvolvimento e testes locais, os membros da equipa podem usar o CLI/SDK do Prompt Flow para submeter e avaliar execuções em lote e avaliações para a nuvem. Este processo permite o uso de computação em nuvem, armazenamento persistente de resultados, criação de endpoints para implementações e gestão eficiente na interface do estúdio.

    Captura de ecrã do comando pfazure para submeter uma execução para a cloud.

  4. Visualize e gere os resultados das execuções na interface de trabalho do Estúdio do Azure Machine Learning Workspace.

    Depois de submeterem as corridas para a cloud, os membros da equipa podem aceder à interface do estúdio para ver os resultados e gerir experiências de forma eficiente. O espaço de trabalho na cloud oferece um local centralizado para recolher e gerir o histórico de execuções, logs, snapshots, resultados abrangentes e entradas e saídas ao nível da instância.

    Captura de ecrã do Cloud Run snapshot.

  5. Use a lista de Corridas que regista todo o histórico de corridas para comparar facilmente os resultados de diferentes corridas, ajudando na análise de qualidade e nos ajustes necessários.

    Captura de ecrã da lista de execuções no espaço de trabalho.

  6. Continue a utilizar o desenvolvimento iterativo local.

    Após analisar os resultados das experiências, os membros da equipa podem regressar ao ambiente local e ao repositório de código para mais desenvolvimento e afinamento, submetendo iterativamente execuções subsequentes para a cloud. Esta abordagem iterativa assegura melhorias consistentes até que a equipa fique satisfeita com a qualidade da produção.

  7. Use a implementação em um passo para a produção no estúdio.

    Uma vez que a equipa esteja totalmente confiante na qualidade do fluxo, pode implementá-lo de forma fluida como um endpoint online num ambiente cloud robusto. A implementação como endpoint online pode basear-se num snapshot de execução, permitindo um serviço estável e seguro, alocação adicional de recursos e acompanhamento de utilização, e monitorização de registos na cloud.

    Captura de ecrã de implementar o fluxo a partir de um instantâneo de execução.

    O assistente Estúdio do Azure Machine Learning Deploy ajuda-te a configurar facilmente o teu deployment.

    Captura de ecrã do assistente de implementação.