Desenvolver um fluxo de avaliação no portal Microsoft Foundry (clássico)

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.

Os fluxos de avaliação são tipos especiais de fluxos que avaliam quão bem os resultados de uma execução se alinham com critérios e objetivos específicos.

No fluxo rápido, pode personalizar ou criar o seu próprio fluxo de avaliação adaptado às suas tarefas e objetivos, e depois usá-lo para avaliar outros fluxos. Neste documento aprende:

  • Como desenvolver um método de avaliação.
  • Compreenda entradas, saídas e métricas de registo para avaliações rápidas de fluxo.

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.

Começar a desenvolver um método de avaliação

Existem duas formas de desenvolver os seus próprios métodos de avaliação:

  • Personalize um Fluxo de Avaliação Incorporado: Modificar um fluxo de avaliação incorporado.

    1. Em Construir e personalizar, selecione fluxo de prompt.
    2. Selecione Criar para abrir o assistente de criação de fluxo.
    3. Na galeria de fluxos, em Explorar galeria , selecione Fluxo de Avaliação para filtrar por esse tipo. Escolhe uma amostra e seleciona Clone para fazer personalização.
  • Crie um Novo Fluxo de Avaliação do Zero: Desenvolva um novo método de avaliação do zero.

    1. Em Construir e personalizar, selecione fluxo de prompt.
    2. Selecione Criar para abrir o assistente de criação de fluxo.
    3. Na galeria de fluxos, sob Criar por tipo na caixa de "Fluxo de avaliação", seleciona Criar e poderás ver um modelo de fluxo de avaliação.

Compreender a avaliação no fluxo prompto

No Prompt flow, um fluxo é uma sequência de nós de processamento que processam uma entrada e geram uma saída. Os fluxos de avaliação também recebem os inputs necessários e produzem os outputs correspondentes.

Algumas características especiais dos métodos de avaliação são:

  • Normalmente executam após a execução a testar e recebem as saídas dessa execução.
  • Para além dos resultados da execução a testar, opcionalmente podem receber outro conjunto de dados que possa conter verdades de base correspondentes.
  • Podem ter um nó de agregação que calcula o desempenho global do fluxo a ser testado com base nas pontuações individuais.
  • Eles podem registar métricas usando a log_metric() função.

Introduzimos como os inputs e outputs devem ser definidos no desenvolvimento de métodos de avaliação.

Entradas

Uma avaliação é realizada após outra para avaliar quão bem os resultados dessa prova se alinham com critérios e objetivos específicos. Portanto, a avaliação recebe as saídas geradas a partir dessa execução.

Também podem ser necessários outros inputs, como a verdade fundamental, que pode vir de um conjunto de dados. Por padrão, a avaliação utiliza o mesmo conjunto de dados que o conjunto de dados de teste fornecido à execução testada. No entanto, se as etiquetas correspondentes ou os valores de verdade do terreno alvo estiverem num conjunto de dados diferente, pode facilmente mudar para esse.

Portanto, para realizar uma avaliação, é necessário indicar as fontes desses inputs necessários. Para isso, ao submeter uma avaliação, vê-se uma secção de "mapeamento de entrada".

  • Se a fonte de dados for da sua saída de execução, a fonte é indicada como ${run.output.[OutputName]}
  • Se a fonte de dados for do seu conjunto de dados de teste, a fonte é indicada como ${data.[ColumnName]}

Nota

Se a sua avaliação não exigir dados do conjunto de dados, não precisa de referenciar nenhuma coluna do conjunto de dados na secçã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 afeta o resultado da avaliação.

Descrição da entrada

Para lembrar que entradas são necessárias para calcular métricas, pode adicionar uma descrição para cada entrada necessária. As descrições são apresentadas ao mapear as fontes na submissão em lote.

Para adicionar descrições para cada entrada, selecione Mostrar descrição na secção de entrada ao desenvolver o seu método de avaliação. E podes selecionar "Ocultar descrição" para esconder a descrição.

Depois, esta descrição é apresentada ao usar este método de avaliação na submissão em lote.

Resultados e métricas

Os resultados de uma avaliação são os resultados que medem o desempenho do fluxo a ser testado. O resultado geralmente contém métricas como pontuações, podendo também incluir texto para raciocínio e sugestões.

Resultados de pontuações ao nível da instância

No fluxo rápido, o fluxo processa cada conjunto de dados de amostra um de cada vez e gera um registo de saída. De forma semelhante, na maioria dos casos de avaliação, existe uma métrica para cada saída, permitindo verificar como o fluxo se comporta em cada dado individual.

Para registar a pontuação de cada amostra de dados, calcule a pontuação de cada saída e registre a pontuação como uma saída de fluxo , definindo-a na secção de saída. Esta experiência de autoria é igual a definir uma saída de fluxo padrão.

Calculamos esta pontuação no nó line_process, que pode criar e editar do zero ao criá-lo por tipo. Também podes substituir este nó Python por um nó LLM para usar o LLM e calcular a pontuação.

Quando este método de avaliação é usado para avaliar outro fluxo, a pontuação ao nível da instância pode ser visualizada no separador Geral>Saída.

Nó de registro e agregação de métricas

Além disso, é também importante fornecer uma pontuação global para a corrida. Pode verificar a configuração "definir como agregação" de um nó Python no fluxo de avaliação para o transformar num nó "reduzir", permitindo que o nó receba as entradas como uma lista e as processe em lote.

Desta forma, pode calcular e processar todas as pontuações de cada saída de fluxo e calcular um resultado global para cada variante.

Pode registar métricas num nó de agregação usando Prompt flow_sdk.log_metrics(). As métricas devem ser numéricas (float/int). O registo de métricas do tipo string não é suportado.

Calculamos esta pontuação no aggregate nó, que pode criar e editar do zero ao criar por tipo específico. Também podes substituir este nó Python por um nó LLM para usar o LLM e calcular a pontuação. Veja o seguinte exemplo para usar a log_metric API num 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 chamaste esta função no nó Python, não precisas de a atribuir novamente a outro lugar e podes ver as métricas mais tarde. Quando este método de avaliação é usado numa execução em lote, a pontuação ao nível da instância pode ser visualizada no separador Overview-Metrics>.

Próximos passos