Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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.
Os fluxos de avaliação são tipos especiais de fluxos que avaliam o quão bem as saídas de uma execução se alinham com critérios e metas específicos.
No fluxo de prompt, você pode personalizar ou criar seu próprio fluxo de avaliação adaptado para suas tarefas e objetivos e, em seguida, usá-lo para avaliar outros fluxos. Neste documento, você aprenderá:
- Como desenvolver um método de avaliação.
- Compreenda as métricas de entradas, saídas e registro em log para avaliações rápidas de fluxo.
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.
- Uma conta Azure com uma assinatura ativa. Se você não tiver uma, crie uma conta de Azure free, que inclui uma assinatura de avaliação gratuita.
- Se você não tiver um, crie um projeto baseado em hub.
Começando a desenvolver um método de avaliação
Há duas maneiras de desenvolver seus próprios métodos de avaliação:
Personalizar um fluxo de avaliação interno: Modifique um fluxo de avaliação interno.
- Em Compilar e personalizar, selecioneo fluxo de prompt.
- Selecione Criar para abrir o assistente de criação de fluxo.
- Na galeria de fluxos, em Explorar galeria , selecione Fluxo de avaliação para filtrar por esse tipo. Escolha um exemplo e selecione Clonar para fazer a personalização.
Crie um novo fluxo de avaliação do zero: Desenvolva um novo método de avaliação desde o início.
- Em Compilar e personalizar, selecioneo fluxo de prompt.
- Selecione Criar para abrir o assistente de criação de fluxo.
- Na galeria de fluxos em Criar por tipo , na caixa "Fluxo de avaliação", selecione Criar e, em seguida, você pode ver um modelo de fluxo de avaliação.
Entender a avaliação no Prompt Flow
No fluxo Prompt, um fluxo é uma sequência de nós que processam entradas e geram saídas. Os fluxos de avaliação também utilizam insumos necessários e produzem saídas correspondentes.
Alguns recursos especiais dos métodos de avaliação são:
- Eles geralmente são executados após a execução a ser testada e recebem resultados dessa execução.
- Além das saídas da execução a serem testadas, opcionalmente, elas podem receber outro conjunto de dados que pode conter verdades de base correspondentes.
- Eles podem ter um nó de agregação que calcula o desempenho geral do fluxo que está sendo testado com base nas pontuações individuais.
- Eles podem registrar métricas usando a
log_metric()função.
Apresentamos como as entradas e saídas devem ser definidas no desenvolvimento de métodos de avaliação.
Entradas
Uma avaliação é executada após outra execução para avaliar o quão bem as saídas dessa execução se alinham com critérios e metas específicos. Portanto, a avaliação recebe as saídas geradas a partir dessa execução.
Outras entradas também podem ser necessárias, como a verdade básica, que pode vir de um conjunto de dados. Por padrão, a avaliação usa o mesmo conjunto de dados que o conjunto de dados de teste fornecido para a execução testada. No entanto, se os rótulos correspondentes ou os valores de verdade básica de destino estiverem em um conjunto de dados diferente, você poderá alternar facilmente para esse conjunto.
Portanto, para executar uma avaliação, você precisa indicar as fontes dessas entradas necessárias. Para fazer isso, ao enviar uma avaliação, você verá uma seção de "mapeamento de entrada ".
- Se a fonte de dados for de sua saída de execução, a origem será indicada como
${run.output.[OutputName]} - Se a fonte de dados for do conjunto de dados de teste, a fonte é indicada como
${data.[ColumnName]}
Nota
Se sua avaliação não exigir dados do conjunto de dados, você não precisará fazer referência a nenhuma coluna de conjunto de dados na seção de mapeamento de entrada, indicando que a seleção do conjunto de dados é uma configuração opcional. A seleção do conjunto de dados não afetará o resultado da avaliação.
Descrição de entrada
Para lembrar quais entradas são necessárias para calcular as métricas, você pode adicionar uma descrição para cada entrada necessária. As descrições são exibidas ao mapear as fontes no envio de execução em lote.
Para adicionar descrições para cada entrada, selecione Mostrar descrição na seção de entrada ao desenvolver seu método de avaliação. E você pode selecionar "Ocultar descrição" para ocultar a descrição.
Em seguida, essa descrição é exibida quando você usa esse método de avaliação no envio de execução em lote.
Resultados e métricas
As saídas de uma avaliação são os resultados que medem o desempenho do fluxo que está sendo testado. A saída geralmente contém métricas como pontuações e também pode incluir texto para raciocínio e sugestões.
Saídas de pontuações em nível de instância
No prompt flow, o fluxo processa cada conjunto de dados de exemplo um de cada vez e gera um registro de saída. Da mesma forma, na maioria dos casos de avaliação, há uma métrica para cada saída, permitindo que você verifique como o fluxo é executado em cada dado individual.
Para registrar a pontuação de cada exemplo de dados, calcule a pontuação de cada saída e registre a pontuação como uma saída de fluxo definindo-a na seção de saída. Essa experiência de criação é a mesma que definir uma saída de fluxo padrão.
Calculamos essa pontuação no line_process nó, que você pode criar e editar do zero ao criar por tipo. Você também pode substituir esse nó python por um nó LLM para usar LLM para calcular a pontuação.
Quando esse método de avaliação é usado para avaliar outro fluxo, a pontuação no nível da instância pode ser exibida na guiaSaída de >.
Nó para registro e agregação de dados métricos
Além disso, também é importante fornecer uma pontuação geral para a execução. Você pode marcar a opção "definir como agregação" de um nó Python em um fluxo de avaliação para transformá-lo em um nó "reduzir", permitindo que o nó receba as entradas como uma lista e as processe em lote.
Dessa forma, você pode calcular e processar todas as pontuações de cada saída de fluxo e calcular um resultado geral para cada variante.
Você pode registrar métricas em um nó de agregação usando Prompt flow_sdk.log_metrics(). As métricas devem ser numéricas (float/int). Não há suporte para registro em log de métricas do tipo string.
Calculamos essa pontuação no nó aggregate, que você pode criar e editar do zero ao criar por tipo. Você também pode substituir esse nó Python por um nó LLM para usar o LLM para calcular a pontuação. Veja o exemplo a seguir para usar a log_metric API em um fluxo de avaliação:
from typing import List
from promptflow import tool, log_metric
@tool
def calculate_accuracy(grades: List[str], variant_ids: List[str]):
aggregate_grades = {}
for index in range(len(grades)):
grade = grades[index]
variant_id = variant_ids[index]
if variant_id not in aggregate_grades.keys():
aggregate_grades[variant_id] = []
aggregate_grades[variant_id].append(grade)
# calculate accuracy for each variant
for name, values in aggregate_grades.items():
accuracy = round((values.count("Correct") / len(values)), 2)
log_metric("accuracy", accuracy, variant_id=name)
return aggregate_grades
Como você chamou essa função no nó Python, você não precisa atribuí-la em nenhum outro lugar e pode exibir as métricas mais tarde. Quando esse método de avaliação é usado em uma execução em lote, a pontuação no nível da instância pode ser exibida na guia Visão Geral-Métricas>.