Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se apenas a:Portal Foundry (clássico). Este artigo não está disponível para o novo portal da Foundry.
Saiba mais sobre o novo portal.
Nota
Os links neste artigo podem abrir conteúdo na nova documentação do Microsoft Foundry em vez da documentação do Foundry (clássico) que está a ver agora.
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.
Prompt Flow é uma ferramenta de desenvolvimento projetada para otimizar todo o ciclo de desenvolvimento de aplicações de IA impulsionadas por Grandes Modelos de Linguagem (LLMs). O fluxo de prompts oferece uma solução abrangente que simplifica o processo de prototipagem, experimentação, iteração e implementação das suas aplicações de IA.
Com um fluxo rápido, consegue:
- Orquestre fluxos executáveis com LLMs, prompts e ferramentas Python através de um gráfico visual.
- Teste, depure e itere os seus fluxos com facilidade.
- Crie variantes de prompts e compare o seu desempenho.
Neste artigo, aprende como criar e desenvolver o seu primeiro fluxo de prompts no portal Microsoft Foundry.
Pré-requisitos
Importante
Este artigo fornece suporte legado para projetos baseados em hubs. Não funciona para projetos da Foundry. Veja : Como sei que tipo de projeto tenho?
Nota de compatibilidade SDK: Exemplos de código requerem uma versão específica do Microsoft Foundry SDK. Se encontrar problemas de compatibilidade, considere migrar de um projeto baseado em hub para um projeto Foundry.
- Uma conta no Azure com uma subscrição ativa. Se não tiveres uma, cria uma conta Azure free, que inclui uma subscrição de teste gratuita.
- Se não tiveres um, cria um projeto baseado em hubs.
- O fluxo de Prompt requer uma sessão de computação. Se não tiveres um runtime, podes criar um no portal da Foundry.
- Precisas de um modelo implementado.
- No teu projeto, configura o controlo de acesso para a conta de armazenamento do blob. Atribui o papel de Contribuidor de Dados de Blob de Armazenamento à tua conta de utilizador.
- No canto inferior esquerdo do portal da Fundição, selecione centro de gestão.
- Em Recursos conectados para o seu hub, selecione o link que corresponde ao tipo Armazenamento de Blobs do Azure.
- Selecione Ver no portal Azure
- No portal Azure, selecione controlo de acesso (IAM).
- Selecionar Adicionar>atribuição de funções.
- Pesquise por Storage Blob Data Contributor e depois selecione-o.
- Use a página Adicionar atribuição de funções para se adicionar como membro.
- Selecione Rever + atribuir para rever a tarefa.
- Selecione Rever + atribuir para atribuir a função.
Crie e desenvolva os seus fluxos de prompts
Pode criar um fluxo clonando as amostras disponíveis na galeria ou criando um fluxo do zero. Se já tiveres ficheiros de fluxo em local ou partilha de ficheiros, também podes importar os ficheiros para criar um fluxo.
Para criar um fluxo de prompts a partir da galeria no portal Foundry:
Dica
Como podes personalizar o painel esquerdo no portal Microsoft Foundry, podes ver itens diferentes dos mostrados nestes passos. Se não vires o que procuras, seleciona ... Mais na parte inferior do painel esquerdo.
Iniciar sessão no Microsoft Foundry. Certifica-te de que a opção do New Foundry está desligada. Estes passos referem-se à Foundry (clássica).
Selecione o seu projeto.
Se estiver no centro de gestão, selecione Ir para projeto para voltar ao seu projeto.
No menu esquerdo dobrável, selecione Fluxo de Prompt.
Selecionar + Criar.
No bloco de fluxo Standard , selecione Criar.
Na página Criar um novo fluxo , introduza o nome de uma pasta e depois selecione Criar.
A página de autoria do fluxo de prompts abre-se. Selecione Iniciar sessão de computação para ter uma sessão de computação em execução para o fluxo.
Já podes começar a criar o teu fluxo. Por padrão, vê um fluxo de amostra. Este fluxo de exemplo tem nós para as ferramentas LLM e Python.
Nota
A vista do grafo só para visualização. Mostra a estrutura de fluxo que estás a desenvolver. Não podes editar diretamente a vista do gráfico, mas podes aproximar, afastar e fazer scroll. Pode selecionar um nó na vista do grafo para destacar e navegar até ao nó na vista de edição da ferramenta.
Opcionalmente, pode adicionar mais ferramentas ao fluxo. As opções de ferramentas visíveis são LLM, Prompt e Python. Para ver mais ferramentas, selecione + Mais ferramentas.
Selecione uma ligação e implementação no editor de ferramentas LLM.
Na secção de Entradas , adicione um valor para o tema. Por exemplo, "átomos".
Selecione Executar para executar o fluxo.
O estado de execução do fluxo é mostrado como Em Execução.
Quando a execução do fluxo estiver concluída, selecione Ver saídas para visualizar os resultados do fluxo.
Pode ver o estado da execução do fluxo e as saídas na secção Saídas.
Autoria do fluxo
Cada fluxo é representado por uma pasta que contém um ficheiro 'flow.dag.yaml'', ficheiros de código-fonte e pastas do sistema. Podes adicionar novos ficheiros, editar ficheiros existentes e eliminar ficheiros. Também podes exportar os ficheiros para local ou importar ficheiros a partir do local.
Além de editar o nó em linha na vista predefinida, também pode ativar o modo de ficheiro Raw e selecionar o nome do ficheiro para editar o ficheiro no separador de abertura.
Entrada e saída de fluxo
Entrada de fluxo é o dado passado 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. Pode-se referenciar a entrada de fluxo mais tarde nos nós de fluxo usando a sintaxe ${inputs.[input name]}.
A saída do fluxo é o dado produzido pelo fluxo como um todo, que resume os resultados da execução do fluxo. Pode visualizar e exportar a tabela de saída depois de concluída a execução de fluxo ou lote. Defina o valor de saída do fluxo referenciando a saída do nó individual do fluxo utilizando a sintaxe ${[node name].output} ou ${[node name].output.[field name]}.
Ligar nós entre si
Ao referenciar a saída do nó, você pode ligar nós entre si. Por exemplo, podes referenciar a saída do nó LLM na entrada do nó Python, assim o nó Python pode consumir a saída do nó LLM, e na vista do grafo podes ver que os dois nós estão ligados entre si.
Permitir o controlo condicional ao fluxo
O Prompt Flow oferece não só uma forma simplificada de executar o fluxo, mas também traz uma funcionalidade poderosa para os programadores – o controlo condicional, que permite aos utilizadores definir condições para a execução de qualquer nó num fluxo.
No seu cerne, o controlo condicional oferece a capacidade de associar cada nó de um fluxo a uma configuração ativada. Esta configuração é essencialmente uma instrução "quando" que determina quando um nó deve ser executado. O poder desta funcionalidade é percebido quando se têm fluxos complexos, onde a execução de certas tarefas depende do resultado de tarefas anteriores. Ao usar o controlo condicional, pode configurar os seus nós específicos para executarem apenas quando as condições especificadas forem cumpridas.
Especificamente, podes definir a configuração ativa para um nó selecionando o botão Ativar configuração no cartão do nó. Podes adicionar a instrução "quando" e definir a condição.
Podes definir as condições ao referenciar a entrada do fluxo ou a saída do nó. Por exemplo, pode definir a condição ${inputs.[input name]} como valor específico ou ${[node name].output} como valor específico.
Se a condição não for cumprida, o nó é ignorado. O estado do nó é mostrado como "Bypassed".
Testar o fluxo
Pode testar o fluxo de duas formas:
Executar um nó único:
- Para executar um único nó, selecione o ícone Executar num nó na vista padrão. Depois de concluída a execução, pode inspecionar rapidamente os resultados na secção Saídas do nó.
n
- Para executar um único nó, selecione o ícone Executar num nó na vista padrão. Depois de concluída a execução, pode inspecionar rapidamente os resultados na secção Saídas do nó.
n
Execute todo o fluxo:
- Para executar todo o fluxo, selecione o botão Executar no topo direito.
Ver resultado e rastreio do teste (pré-visualização)
O rastreamento está desativado por defeito, para permitir o rastreamento precisa de definir a variável PF_DISABLE_TRACING de ambiente para false. Uma forma de o fazer é adicionando o seguinte ao nó Python:
import os
os.environ["PF_DISABLE_TRACING"] = "false"
Durante toda a execução do fluxo, depois de executar o fluxo, podes ver o estado da execução no banner da execução. Para visualizar o rastreamento para verificar o resultado e observar a execução do fluxo, pode selecionar Ver saídas e depois selecionar a aba rastreamento. Pode ver a entrada e saída de todo o fluxo e de cada nó, juntamente com informações mais detalhadas para depuração. Está disponível durante a corrida e depois de a corrida terminar.
Compreenda a vista de rastreio
Selecione o separador Trace no ecrã de Saídas para ver um gráfico que fornece informações sobre a duração e o custo em tokens associado ao fluxo. Selecione o fluxo debaixo do nome do nodo para ver informações detalhadas do fluxo no painel à direita.
Nota
No SDK de prompt flow, definimos vários tipos de intervalo, incluindo LLM, Função, Embedding, Recuperação e Fluxo. O sistema cria automaticamente spans com informação de execução em atributos e eventos designados.
Para saber mais sobre tipos de spans, veja Span de rastreio.
Desenvolva um fluxo de conversa
O fluxo de chat foi concebido para o desenvolvimento de aplicações conversacionais, construindo sobre as capacidades do fluxo padrão e proporcionando suporte melhorado para entradas/saídas de chat e gestão do histórico de chat. Com o fluxo de chat, pode facilmente criar um chatbot que gere a entrada e saída do chat.
Na página de criação de fluxo de chat, o fluxo de chat é etiquetado com um rótulo "chat" para o distinguir do fluxo padrão e do fluxo de avaliação. Para testar o fluxo de conversa, selecione o botão "Chat" para ativar uma caixa de chat para a 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 a entrada de chat, o histórico de chat e a saída de chat.
- Entrada de chat: Entrada de chat refere-se às mensagens ou consultas submetidas pelos utilizadores ao chatbot. Gerir eficazmente a entrada do chat é crucial para uma conversa bem-sucedida, pois envolve compreender as intenções do utilizador, extrair informações relevantes e desencadear respostas adequadas.
- Histórico de chat: O histórico de chat é o registo de todas as interações entre o utilizador e o chatbot, incluindo tanto as entradas do utilizador como as saídas geradas por IA. Manter o histórico de conversas é essencial para acompanhar o contexto da conversa e garantir que a IA consegue gerar respostas contextualmente relevantes.
- Saída de chat: Saída de chat refere-se às mensagens geradas por IA que são enviadas ao utilizador em resposta às suas entradas. Gerar conteúdos de chat contextualmente adequados e envolventes é vital para uma experiência positiva do utilizador.
Um fluxo de chat pode ter múltiplas entradas; o histórico de chat e a entrada de chat são necessários no fluxo de chat.
Na secção de entradas de fluxo de chat, uma entrada de flow pode ser marcada como entrada de chat. Depois podes preencher o valor de entrada do chat escrevendo na caixa de chat.
O fluxo de prompts pode ajudar o utilizador a gerir o histórico de chat. A secção de
chat_historynos Inputs está reservada para representar o histórico de conversa. Todas as interações na caixa de chat, incluindo entradas de chat de utilizador, saídas de chat geradas e outras entradas e saídas de fluxo, são automaticamente armazenadas no histórico de chat. O utilizador não pode definir manualmente o valor dechat_historyna secção de Entradas. Está 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 guardar ou gerir automaticamente o histórico de chat é uma funcionalidade na página de autoria ao realizar testes na caixa de chat. Para execuções em lote, é necessário que os utilizadores incluam o histórico de chat no conjunto de dados. Se não houver histórico de chat disponível para testes, defina o chat_history para uma lista [] vazia dentro do conjunto de dados de lote.
Solicitação do autor com histórico de chat
Incorporar o histórico de Chat nos seus prompts é essencial para criar respostas de chatbot conscientes do contexto e envolventes. Nos seus prompts, pode referenciar chat_history para recuperar interações passadas. Isto permite-lhe referenciar entradas e saídas anteriores para criar respostas contextualmente relevantes.
Use a sintaxe de 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 chat
A caixa de chat oferece uma forma interativa de testar o seu fluxo de conversa, simulando uma conversa com o seu chatbot. Para testar o seu fluxo de chat usando a caixa de chat, siga estes passos:
- Selecione o botão "Chat" para abrir a caixa de chat.
- Escreva as suas entradas de teste na caixa de chat e pressione Enter para as enviar ao chatbot.
- Reveja as respostas do chatbot para garantir que são contextualmente adequadas e precisas.
- Ver rastreio no local para observação e resolução de erros rápidas.