Desenvolver um fluxo de prompt (clássico)

Aplica-se somente a:Portal Foundry (clássico). Este artigo não está disponível para o novo portal do Foundry. Saiba mais sobre o novo portal.

Nota

Links neste artigo podem abrir conteúdo na nova documentação do Microsoft Foundry em vez da documentação da Foundry (clássica) que você está exibindo agora.

Aviso

O desenvolvimento de funcionalidades do Prompt Flow terminou em 20 de abril de 2026. O recurso será totalmente desativado em 20 de abril de 2027. Na data de desativação, o Prompt Flow entra no modo somente leitura. Seus fluxos existentes continuarão a operar até essa data.

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

O Prompt flow é uma ferramenta de desenvolvimento projetada para simplificar todo o ciclo de desenvolvimento de aplicativos de IA alimentados por LLMs (Modelos de Linguagem de Grande Escala). O Prompt flow oferece uma solução abrangente que simplifica o processo de criar protótipos, testar, iterar e implantar seus aplicativos de IA.

Com o prompt flow, você poderá:

  • Orquestrar fluxos executáveis com LLMs, prompts e ferramentas do Python por meio de um grafo visualizado.
  • Teste, depure e itere seus fluxos com facilidade.
  • Crie variantes de prompt e compare seu desempenho.

Neste artigo, você aprenderá a criar e desenvolver seu primeiro fluxo de prompt no portal do Microsoft Foundry.

Pré-requisitos

Importante

Este artigo fornece suporte herdado para projetos baseados em hub. Ele não funcionará para projetos do Foundry. Veja como saber qual tipo de projeto tenho?

Observação de compatibilidade do SSDK: exemplos de código exigem uma versão específica do SDK do Microsoft Foundry. Se você encontrar problemas de compatibilidade, considere a migração de um projeto baseado em hub para um projeto do Foundry.

  • O fluxo de prompt requer uma sessão de computação. Se você não tiver um runtime, poderá criar um no portal do Foundry.
  • Você precisa de um modelo implantado.
  • Em seu projeto, configure o controle de acesso para a conta de armazenamento de blobs. Atribua a função Colaborador de Dados do Blob de Armazenamento à sua conta de usuário.
    • No canto inferior esquerdo do portal do Foundry, selecione Centro de Gerenciamento.
    • Nos recursos Conectados para o hub, selecione o link que corresponde ao tipo Armazenamento de Blobs do Azure.
    • Selecione Exibir no Portal do Azure
    • No portal do Azure, selecione Excess control (IAM).
    • Selecione Adicionar>atribuição de função.
    • Pesquise por Storage Blob Data Contributor, e então, selecione-o.
    • Use a página Adicionar atribuição de função para adicionar a si mesmo como membro.
    • Selecione Examinar + atribuir para examinar a atribuição.
    • Selecione Examinar + atribuir para atribuir a função.

Crie e desenvolva seu Prompt Flow

Você pode criar um fluxo clonando os exemplos disponíveis na galeria ou criando um fluxo do zero. Se você já tiver arquivos de fluxo no armazenamento local ou em um compartilhamento de arquivos, também pode importar esses arquivos para criar um fluxo.

Para criar um fluxo de prompt da galeria no portal do Foundry:

Dica

Como você pode customize o painel esquerdo no portal do Microsoft Foundry, você pode ver itens diferentes dos mostrados nestas etapas. Se você não vir o que está procurando, selecione ... Mais na parte inferior do painel esquerdo.

Entre no Microsoft Foundry. Certifique-se de que o alternador New Foundry está desativado. Essas etapas se referem ao Foundry (clássico).

  1. Selecione seu projeto.

  2. Se você estiver no Centro de Gerenciamento, selecione Ir para o projeto para retornar ao seu projeto.

  3. No menu esquerdo recolhível, selecione Prompt flow.

  4. Selecione + Criar.

  5. No bloco de fluxo Padrão , selecione Criar.

  6. Na página Criar um novo fluxo , insira um nome de pasta e selecione Criar.

    Captura de tela da seleção e criação de um fluxo padrão.

  7. A página de criação do fluxo de prompt é aberta. Selecione Iniciar sessão de computação para ter uma sessão de computação em execução para o fluxo.

  8. Você pode começar a criar seu fluxo agora. Por padrão, você visualiza um fluxo de exemplo. Este fluxo de exemplo tem nós para as ferramentas LLM e Python.

    Captura de tela da entrada e da saída do fluxo na página de fluxo de prompt de edição.

    Nota

    A exibição de grafo somente para visualização. Ele mostra a estrutura de fluxo que você está desenvolvendo. Você não pode editar a visão do gráfico diretamente, mas pode aproximar, reduzir e rolar. Selecione um nó na exibição de grafo para realçá-lo e navegar até o nó no modo de exibição de edição da ferramenta.

  9. Opcionalmente, você pode adicionar mais ferramentas ao fluxo. As opções de ferramenta visível são LLM, Prompt e Python. Para exibir mais ferramentas, selecione + Mais ferramentas.

    Captura de tela de onde você pode encontrar mais ferramentas na página do fluxo de edição de prompts.

  10. Selecione uma conexão e implantação no editor de ferramentas LLM.

    Captura de tela da conexão e implantação selecionadas na ferramenta LLM na página de fluxo de prompt de edição.

  11. Na seção Entradas , adicione um valor para o tópico. Por exemplo, "átomos".

  12. Selecione Executar para executar o fluxo.

    Captura de tela de onde selecionar executar na página do fluxo do prompt de edição.

  13. O status de execução de fluxo é mostrado como Em execução.

    Captura de tela do fluxo no estado em execução na página editar fluxo de prompt.

  14. Depois que a execução do fluxo for concluída, selecione Exibir saídas para exibir os resultados do fluxo.

    Captura de tela de onde você pode selecionar para exibir os resultados do fluxo na página editar fluxo de prompt.

  15. Você pode exibir o status e a saída da execução de fluxo na seção Saídas .

    Captura de tela dos detalhes de saída.

Criar o fluxo

Cada fluxo é representado por uma pasta que contém um arquivo 'flow.dag.yaml'', arquivos de código-fonte e pastas do sistema. Você pode adicionar novos arquivos, editar arquivos existentes e excluir arquivos. Você também pode exportar os arquivos para o local ou importar arquivos do local.

Além de editar o nó diretamente na visualização padrão, você também pode ativar a opção Modo de arquivo bruto e selecionar o nome do arquivo para editá-lo na guia de arquivo aberta.

Entrada e saída do fluxo

A entrada de fluxo são os dados transmitidos para o fluxo como um todo. Defina o esquema de entrada especificando o nome e o tipo. Defina o valor de entrada de cada entrada para testar o fluxo. Você pode referenciar a entrada de fluxo posteriormente nos nós de fluxo usando a sintaxe ${inputs.[input name]}.

A saída do fluxo é composta pelos dados produzidos pelo fluxo como um todo, resumindo os resultados da execução do fluxo. Você pode exibir e exportar a tabela de saída depois que a execução do fluxo ou do lote for concluída. Defina o valor de saída do fluxo referenciando a saída de nó único de fluxo usando a sintaxe ${[node name].output} ou ${[node name].output.[field name]}.

Ao referenciar a saída do nó, você pode vincular os nós juntos. Por exemplo, você pode referenciar a saída do nó LLM na entrada do nó Python, para que o nó Python possa consumir a saída do nó LLM e, no modo de exibição de grafo, você pode ver que os dois nós estão vinculados juntos.

Habilitar o controle condicional para o fluxo

O Prompt Flow oferece não apenas uma maneira simplificada de executar o fluxo, mas também traz um recurso poderoso para desenvolvedores – controle condicional, que permite que os usuários definam condições para a execução de qualquer nó em um fluxo.

Em seu núcleo, o controle condicional fornece a capacidade de associar cada nó em um fluxo a uma configuração de ativação. Essa configuração é essencialmente uma instrução "when" que determina quando um nó deve ser executado. O poder desse recurso é percebido quando você tem fluxos complexos em que a execução de determinadas tarefas depende do resultado das tarefas anteriores. Usando o controle condicional, você pode configurar seus nós específicos para executar somente quando as condições especificadas forem atendidas.

Especificamente, você pode definir a configuração de ativação para um nó selecionando o botão Ativar configuração no cartão do nó. Você pode adicionar a instrução "when" e definir a condição. Defina as condições referenciando a entrada de fluxo ou a saída do nó. Por exemplo, você pode definir a condição ${inputs.[input name]} como um valor específico ou ${[node name].output} como um valor específico.

Se a condição não for atendida, o nó será ignorado. O status do nó é mostrado como "Ignorado".

Testar o fluxo

Você pode testar o fluxo de duas maneiras:

  • Execute um único nó:

    • Para executar um único nó, selecione o ícone Executar em um nó no modo de exibição padrão. Depois que a execução for concluída, você poderá verificar rapidamente o resultado na seção Saídas do nó. n A captura de tela mostra o botão executar no cartão do nó.
  • Execute todo o fluxo:

    • Para executar todo o fluxo, selecione o botão Executar na parte superior direita.

Exibir o resultado e o rastreamento do teste (versão prévia)

O rastreamento é desabilitado por padrão; para habilitá-lo, você precisa definir a variável de ambiente PF_DISABLE_TRACING para false. Uma maneira de fazer isso é adicionando o seguinte ao nó do Python:

import os
os.environ["PF_DISABLE_TRACING"] = "false"

Para toda a execução de fluxo, depois de executar o fluxo, você pode ver o status de execução na faixa de execução. Para exibir o rastreamento para verificar o resultado e observar a execução do fluxo, selecione Exibir saídas e, em seguida, selecione a guia rastreamento . Você pode ver a entrada e a saída de todo o fluxo e de cada nó, juntamente com informações mais detalhadas para depuração. Ele está disponível durante a execução e depois que a execução é concluída.

Entender o modo de exibição de rastreamento

Selecione a guia Trace na tela Outputs para ver um gráfico que fornece informações sobre a duração e o custo do token associado ao fluxo. Selecione "Fluxo" abaixo do nome do nó para visualizar informações detalhadas sobre o fluxo no painel direito.

 Captura de tela dos detalhes do rastreamento.

Nota

No SDK de prompt flow, definimos vários tipos de elementos, incluindo LLM, Function, Embedding, Retrieval e Flow. E o sistema cria automaticamente intervalos com informações de execução em atributos e eventos designados.

Para saber mais sobre tipos de span, confira span de rastreamento.

Desenvolver um fluxo de chat

O fluxo de chat foi projetado para o desenvolvimento de aplicativos de conversação, baseando-se nos recursos do fluxo padrão e fornecendo suporte aprimorado para entradas/saídas de chat e gerenciamento de histórico de chat. Com o fluxo de chat, você pode criar facilmente um chatbot que lida com entrada e saída de chat.

Na página de criação do fluxo de chat, o fluxo de chat é marcado com um rótulo de "chat" para distingui-lo do fluxo padrão e do fluxo de avaliação. Para testar o fluxo de chat, selecione o botão "Chat" para disparar uma caixa de chat para conversa.

Entrada/saída de chat e histórico de chat

Os elementos mais importantes que diferenciam um fluxo de chat de um fluxo padrão são entrada de chat, histórico de chat e saída de chat.

  • Entrada de chat: a entrada de chat refere-se às mensagens ou consultas enviadas pelos usuários ao chatbot. Lidar efetivamente com a entrada de chat é crucial para uma conversa bem-sucedida, pois envolve entender as intenções do usuário, extrair informações relevantes e disparar respostas apropriadas.
  • Histórico de chat: o histórico de chat é o registro de todas as interações entre o usuário e o chatbot, incluindo entradas de usuário e saídas geradas por IA. Manter o histórico de chat é essencial para acompanhar o contexto da conversa e garantir que a IA possa gerar respostas contextualmente relevantes.
  • Saída do chat: a saída do chat refere-se às mensagens geradas por IA que são enviadas ao usuário em resposta às suas entradas. Gerar uma saída de chat contextualmente apropriada e envolvente é vital para uma experiência positiva do usuário.

Um fluxo de chat pode ter várias entradas, histórico de chat e entrada de chat são necessários no fluxo de chat.

  • Na seção de entradas de fluxo de chat, uma entrada de fluxo pode ser marcada como entrada de chat. Em seguida, você pode preencher o valor de entrada do chat digitando na caixa de chat.

  • O fluxo de comando pode ajudar o usuário a gerenciar o histórico de chat. O chat_history na seção Entradas é reservado para representar o histórico do chat. Todas as interações na caixa de chat, incluindo entradas de chat do usuário, saídas de chat geradas e outras entradas e saídas de fluxo, são armazenadas automaticamente no histórico de chat. O usuário não pode definir manualmente o valor da chat_history seção Entradas. Ele é estruturado como uma lista de entradas e saídas:

    [
    {
        "inputs": {
        "<flow input 1>": "xxxxxxxxxxxxxxx",
        "<flow input 2>": "xxxxxxxxxxxxxxx",
        "<flow input N>""xxxxxxxxxxxxxxx"
        },
        "outputs": {
        "<flow output 1>": "xxxxxxxxxxxx",
        "<flow output 2>": "xxxxxxxxxxxxx",
        "<flow output M>": "xxxxxxxxxxxxx"
        }
    },
    {
        "inputs": {
        "<flow input 1>": "xxxxxxxxxxxxxxx",
        "<flow input 2>": "xxxxxxxxxxxxxxx",
        "<flow input N>""xxxxxxxxxxxxxxx"
        },
        "outputs": {
        "<flow output 1>": "xxxxxxxxxxxx",
        "<flow output 2>": "xxxxxxxxxxxxx",
        "<flow output M>": "xxxxxxxxxxxxx"
        }
    }
    ]
    

Nota

A capacidade de salvar ou gerenciar automaticamente o histórico de chat é um recurso na página de criação ao realizar testes na caixa de chat. Para execuções em lote, é necessário que os usuários incluam o histórico de chat no conjunto de dados de execução em lote. Se não houver nenhum histórico de chat disponível para teste, defina o chat_history como uma lista [] vazia dentro do conjunto de dados de execução em lote.

Criar um prompt com o histórico de chat

Incorporar o histórico de chat em seus prompts é essencial para criar respostas de chatbot cientes de contexto e envolventes. Em seus prompts, você pode fazer referência a chat_history para recuperar interações passadas. Isso permite que você faça referência a entradas e saídas anteriores para criar respostas contextualmente relevantes.

Use a gramática for-loop da linguagem Jinja para exibir uma lista de entradas e saídas de chat_history.

{% for item in chat_history %}
user:
{{item.inputs.question}}
assistant:
{{item.outputs.answer}}
{% endfor %}

Teste com a caixa de bate-papo

A caixa de chat fornece uma maneira interativa de testar o fluxo de chat simulando uma conversa com seu chatbot. Para testar o fluxo de chat usando a caixa de chat, siga estas etapas:

  1. Selecione o botão "Chat" para abrir a caixa de chat.
  2. Digite as entradas de teste na caixa de chat e pressione Enter para enviá-las ao chatbot.
  3. Examine as respostas do chatbot para garantir que elas sejam contextualmente apropriadas e precisas.
  4. Visualizar rastreamento no local para observação e depuração rápidas.

Próximas etapas