Vytvořte proces vyhodnocení na portálu Microsoft Foundry (classic)

Platí jenom pro:Portál Foundry (Classic). Tento článek není k dispozici pro nový portál Foundry. Přečtěte si další informace o novém portálu.

Poznámka

Odkazy v tomto článku můžou otevírat obsah v nové dokumentaci Microsoft Foundry místo dokumentace Foundry (classic), kterou si právě prohlížíte.

Upozornění

Prompt flow v Microsoft Foundry a Azure Machine Learning bude ukončena dne 20. dubna 2027. Prompt flow se již nedoporučuje pro nový vývoj. Migrujte existující aplikace a nasazení Prompt flow na Microsoft Agent Framework před 20. dubnem 2027.

Image kontejnerů Prompt flow již nejsou aktualizovány, včetně aktualizací zabezpečení a balíčků. To platí pro image běhového prostředí Prompt flow, včetně promptflow-runtime, promptflow-runtime-stable a promptflow-python.

Po 20. dubnu 2027 už Prompt flow, včetně webového prostředí pro vytváření v Microsoft Foundry a Azure Machine Learning, rozšíření VS Code a souvisejících imagí kontejnerů Prompt flow, nebude podporován ani dostupný.

Pokud vaše aplikace závisí na nasazeních Prompt flow nebo bitových kopiích modulu runtime, naplánujte přesun těchto úloh na podporované alternativy, jako je Microsoft Agent Framework, a to před datem vyřazení. Pokyny k migraci najdete v průvodci migrací nástroje Prompt flow a v ukázkách kódu pro migraci.

Toky hodnocení jsou speciální typy toků, které posuzují, do jaké míry výsledky procesu odpovídají konkrétním kritériím a cílům.

V toku výzvy můžete přizpůsobit nebo vytvořit vlastní tok vyhodnocení přizpůsobený vašim úkolům a cílům a pak ho použít k vyhodnocení jiných toků. V tomto dokumentu se dozvíte:

  • Postup vývoje metody vyhodnocení
  • Seznamte se se vstupy, výstupy a metrikami protokolování pro vyhodnocení toku výzvy.

Požadavky

Důležité

Tento článek obsahuje starší verzi podpory pro projekty založené na centrech. Nebude fungovat pro projekty Foundry. Jak zjistím, jaký typ projektu mám?

Poznámky k kompatibilitě sady SDK: Příklady kódu vyžadují konkrétní verzi sady SDK Microsoft Foundry. Pokud narazíte na problémy s kompatibilitou, zvažte migraci z centra do projektu Foundry.

Začínáme s vývojem metody vyhodnocení

Existují dva způsoby, jak vyvíjet vlastní metody hodnocení:

  • Přizpůsobení integrovaného toku vyhodnocení: Úprava integrovaného toku vyhodnocení

    1. V části Sestavení a přizpůsobení vyberte Tok promptů.
    2. Vyberte Vytvořit pro otevření průvodce vytvořením toku.
    3. V galerii toků v části Prozkoumat galerii vyberte Tok vyhodnocení a vyfiltrujte ho podle daného typu. Vyberte vzorek, vyberte Klonovat, a poté proveďte přizpůsobení.
  • Vytvoření nového toku vyhodnocení od začátku: Vývoj zcela nové metody hodnocení od základů.

    1. V části Sestavení a přizpůsobení vyberte Tok promptů.
    2. Vyberte Vytvořit pro otevření průvodce vytvořením toku.
    3. V galerii toků v části Vytvořit podle typu v poli Tok vyhodnocení vyberte Vytvořit a pak uvidíte šablonu toku vyhodnocení.

Pochopte vyhodnocení v toku příkazů

V Prompt flow je tok posloupnost uzlů, které zpracovávají vstup a generují výstup. Toky vyhodnocení také berou požadované vstupy a vytvářejí odpovídající výstupy.

Mezi speciální funkce metod hodnocení patří:

  • Obvykle běží po spuštění, které má být testováno, a přijímají výstupy z daného spuštění.
  • Kromě výstupů probíhajícího testování mohou volitelně přijmout další datovou sadu, která může obsahovat odpovídající referenční hodnoty.
  • Můžou mít agregační uzel, který vypočítá celkový výkon testovaného toku na základě jednotlivých skóre.
  • Můžou protokolovat metriky pomocí log_metric() funkce.

Představujeme způsob definování vstupů a výstupů při vývoji metod hodnocení.

Vstupy

Vyhodnocení probíhá po předchozím spuštění, aby se posoudilo, jak dobře výsledky tohoto procesu odpovídají konkrétním kritériím a cílům. Vyhodnocení proto obdrží výstupy vygenerované z daného spuštění.

Mohou být vyžadovány i další vstupy, jako například referenční údaje, které mohou pocházet z datové sady. Ve výchozím nastavení používá vyhodnocení stejnou datovou sadu jako testovací datová sada použitá při testovaném běhu. Pokud jsou ale odpovídající popisky nebo cílové hodnoty základní pravdy v jiné datové sadě, můžete na tuto datovou sadu snadno přepnout.

Proto ke spuštění vyhodnocení potřebujete určit zdroje těchto požadovaných vstupů. Pokud to chcete udělat, zobrazí se při odesílání vyhodnocení oddíl "mapování vstupu" .

  • Pokud zdroj dat pochází z výstupu vašeho běhu, je zdroj označený jako ${run.output.[OutputName]}
  • Pokud zdroj dat pochází z testovací datové sady, je zdroj označený jako ${data.[ColumnName]}

Poznámka

Pokud vaše vyhodnocení nevyžaduje data z datové sady, nemusíte odkazovat na žádné sloupce datové sady ve vstupní části mapování, což znamená, že výběr datové sady je volitelná konfigurace. Výběr datové sady neovlivní výsledek vyhodnocení.

Popis vstupu

Pokud chcete připomenout, jaké vstupy jsou potřeba k výpočtu metrik, můžete přidat popis pro každý požadovaný vstup. Popisy se zobrazí při mapování zdrojů během zasílání dávkového úkolu.

Pokud chcete přidat popisy pro každý vstup, při vývoji metody vyhodnocení vyberte Zobrazit popis ve vstupní části. Popis můžete skrýt výběrem možnosti Skrýt popis.

Tento popis se zobrazí při použití této metody vyhodnocení v dávkovém odeslání.

Výstupy a metriky

Výstupy vyhodnocení jsou výsledky, které měří výkon testovaného toku. Výstup obvykle obsahuje metriky, jako jsou skóre, a může také obsahovat text pro odůvodnění a návrhy.

Výstupy skóre na úrovni instance

V procesu zpracování zpracuje každou ukázkovou datovou sadu jednu po druhé a vygeneruje výstupní záznam. Podobně platí, že ve většině případů vyhodnocení je pro každý výstup metrika, která umožňuje zkontrolovat, jak tok funguje s jednotlivými daty.

Pokud chcete zaznamenat skóre pro každou ukázku dat, vypočítejte skóre pro každý výstup a zaznamenejte skóre jako výstup toku tak, že ho nastavíte ve výstupní části. Toto prostředí pro vytváření obsahu je stejné jako definování standardního výstupu toku.

Toto skóre vypočítáme v line_process uzlu, které můžete při vytváření podle typu vytvořit a upravit úplně od začátku. Tento uzel Pythonu můžete také nahradit uzlem LLM, který použije LLM k výpočtu skóre.

Pokud se tato metoda vyhodnocení používá k vyhodnocení jiného toku, můžete skóre na úrovni instance zobrazit na kartě Přehled>výstupu .

Protokolování metrik a uzel agregace

Kromě toho je také důležité poskytnout celkové skóre běhu. Je možné zkontrolovat "nastaveno jako agregaci" uzlu Python v posuzovacím toku a převést jej na uzel "redukce", což umožňuje uzlu převzít vstupy jako seznam a zpracovat je v dávce.

Tímto způsobem můžete vypočítat a zpracovat všechna skóre každého výstupu toku a vypočítat celkový výsledek pro každou variantu.

Metriky můžete protokolovat v uzlu agregace pomocí příkazového řádku flow_sdk.log_metrics(). Metriky by měly být číselné (float/int). Protokolování metrik typu string se nepodporuje.

Toto skóre vypočítáme v aggregate uzlu, které můžete při vytváření podle typu vytvořit a upravit úplně od začátku. Tento Python uzel můžete také nahradit uzlem LLM, který použije LLM k výpočtu skóre. Podívejte se na následující příklad použití log_metric rozhraní API v toku vyhodnocení:

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

Když jste tuto funkci volali v Python uzlu, nemusíte ji přiřazovat nikde jinde a metriky si můžete prohlédnout později. Pokud se tato metoda vyhodnocení používá při dávkovém spuštění, můžete skóre na úrovni instance zobrazit na kartě Přehled-Metriky>.

Další kroky