Udostępnij za pośrednictwem


Opracowywanie przepływu oceny w portalu usługi Azure AI Foundry

Ważne

Elementy oznaczone (wersja zapoznawcza) w tym artykule są obecnie dostępne w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.

Przepływy oceny to specjalne typy przepływów, które oceniają, jak dobrze wyniki przebiegu są zgodne z określonymi kryteriami i celami.

W przepływie monitów możesz dostosować lub utworzyć własny przepływ oceny dostosowany do zadań i celów, a następnie użyć go do oceny innych przepływów. Z tego dokumentu dowiesz się:

  • Jak opracować metodę oceny.
  • Omówienie danych wejściowych, danych wyjściowych i metryk rejestrowania na potrzeby oceny przepływu monitów.

Rozpoczynanie opracowywania metody oceny

Istnieją dwa sposoby tworzenia własnych metod oceny:

  • Dostosowywanie wbudowanego przepływu oceny: modyfikowanie wbudowanego przepływu oceny.

    1. W obszarze Narzędzia wybierz pozycję Przepływ monituj.
    2. Wybierz pozycję Utwórz , aby otworzyć kreatora tworzenia przepływu.
    3. W galerii przepływów w obszarze Eksploruj galerię wybierz pozycję Przepływ oceny, aby filtrować według tego typu. Wybierz przykład i wybierz pozycję Klonuj , aby przeprowadzić dostosowywanie.
  • Utwórz nowy przepływ oceny od podstaw: utwórz zupełnie nową metodę oceny od podstaw.

    1. W obszarze Narzędzia wybierz pozycję Przepływ monituj.
    2. Wybierz pozycję Utwórz , aby otworzyć kreatora tworzenia przepływu.
    3. W galerii przepływów w obszarze Utwórz według wpisz w polu "Przepływ oceny" wybierz pozycję Utwórz , a następnie zobaczysz szablon przepływu oceny.

Omówienie oceny w przepływie monitów

W obszarze Przepływ monitu przepływ to sekwencja węzłów, która przetwarza dane wejściowe i generuje dane wyjściowe. Przepływy oceny pobierają również wymagane dane wejściowe i generują odpowiednie dane wyjściowe.

Oto niektóre specjalne cechy metod oceny:

  • Zwykle są uruchamiane po uruchomieniu do przetestowania i odbierają dane wyjściowe z tego uruchomienia.
  • Oprócz danych wyjściowych z przebiegu do przetestowania opcjonalnie mogą odbierać inny zestaw danych, który może zawierać odpowiednie podstawowe prawdy.
  • Mogą mieć węzeł agregacji, który oblicza ogólną wydajność testowanego przepływu na podstawie poszczególnych wyników.
  • Mogą rejestrować metryki przy użyciu log_metric() funkcji .

Wprowadzamy sposób definiowania danych wejściowych i wyjściowych podczas opracowywania metod oceny.

Dane wejściowe

Ocena jest uruchamiana po innym przebiegu, aby ocenić, jak dobrze wyniki tego przebiegu są zgodne z określonymi kryteriami i celami. W związku z tym ocena odbiera dane wyjściowe wygenerowane na podstawie tego przebiegu.

Inne dane wejściowe mogą być również wymagane, takie jak prawda naziemna, która może pochodzić z zestawu danych. Domyślnie ocena używa tego samego zestawu danych co zestaw danych testowych dostarczonych do przetestowanego przebiegu. Jeśli jednak odpowiednie etykiety lub docelowe wartości prawdy podstawowej znajdują się w innym zestawie danych, możesz łatwo przełączyć się na ten zestaw danych.

W związku z tym, aby uruchomić ocenę, należy wskazać źródła tych wymaganych danych wejściowych. W tym celu podczas przesyłania oceny zobaczysz sekcję "mapowanie danych wejściowych".

  • Jeśli źródło danych pochodzi z danych wyjściowych przebiegu, źródło jest wskazane jako ${run.output.[OutputName]}
  • Jeśli źródło danych pochodzi z testowego zestawu danych, źródło jest wskazywane jako ${data.[ColumnName]}

Uwaga

Jeśli ocena nie wymaga danych z zestawu danych, nie musisz odwoływać się do żadnych kolumn zestawu danych w sekcji mapowania danych wejściowych, co wskazuje, że wybór zestawu danych jest opcjonalną konfiguracją. Wybór zestawu danych nie wpłynie na wynik oceny.

Opis wejścia

Aby przypomnieć, jakie dane wejściowe są potrzebne do obliczenia metryk, możesz dodać opis dla każdego wymaganego danych wejściowych. Opisy są wyświetlane podczas mapowania źródeł w przesłaniu przebiegu wsadowego.

Aby dodać opisy dla poszczególnych danych wejściowych, wybierz pozycję Pokaż opis w sekcji danych wejściowych podczas opracowywania metody oceny. Możesz również wybrać pozycję "Ukryj opis", aby ukryć opis.

Następnie ten opis jest wyświetlany w przypadku korzystania z tej metody ewaluacyjnej w przesłaniu przebiegu wsadowego.

Dane wyjściowe i metryki

Dane wyjściowe oceny to wyniki, które mierzą wydajność testowanego przepływu. Dane wyjściowe zwykle zawierają metryki, takie jak wyniki, i mogą również zawierać tekst z przyczyn i sugestii.

Dane wyjściowe na poziomie wystąpienia

W przepływie monitu przepływ przetwarza każdy przykładowy zestaw danych pojedynczo i generuje rekord wyjściowy. Podobnie w większości przypadków oceny istnieje metryka dla poszczególnych danych wyjściowych, co pozwala sprawdzić, jak przepływ działa na poszczególnych danych.

Aby zarejestrować wynik dla każdej próbki danych, oblicz wynik dla poszczególnych danych wyjściowych i zarejestruj wynik jako dane wyjściowe przepływu, ustawiając go w sekcji danych wyjściowych. To środowisko tworzenia jest takie samo jak definiowanie standardowych danych wyjściowych przepływu.

Obliczamy ten wynik w węźle line_process , który można utworzyć i edytować od podstaw podczas tworzenia według typu. Możesz również zastąpić ten węzeł języka Python węzłem LLM, aby użyć usługi LLM do obliczenia wyniku.

Gdy ta metoda oceny jest używana do oceny innego przepływu, wynik na poziomie wystąpienia można wyświetlić na karcie Przegląd>danych wyjściowych .

Rejestrowanie metryk i węzeł agregacji

Ponadto ważne jest również, aby zapewnić ogólny wynik dla przebiegu. Możesz sprawdzić "zestaw jako agregację" węzła języka Python w przepływie oceny, aby przekształcić go w węzeł "redukcji", umożliwiając węzłowi przejęcie danych wejściowych jako listy i przetworzenie ich w partii.

W ten sposób można obliczyć i przetworzyć wszystkie wyniki poszczególnych danych wyjściowych przepływu i obliczyć ogólny wynik dla każdego wariantu.

Metryki można rejestrować w węźle agregacji przy użyciu polecenia Prompt flow_sdk.log_metrics(). Metryki powinny być liczbowe (float/int). Rejestrowanie metryk typu ciągu nie jest obsługiwane.

Obliczamy ten wynik w węźle aggregate , który można utworzyć i edytować od podstaw podczas tworzenia według typu. Możesz również zastąpić ten węzeł języka Python węzłem LLM, aby użyć modułu LLM do obliczenia wyniku. Zobacz następujący przykład użycia interfejsu log_metric API w przepływie oceny:

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

Po wywołaniu tej funkcji w węźle języka Python nie musisz przypisywać jej nigdzie indziej i później można wyświetlić metryki. Gdy ta metoda oceny jest używana w przebiegu wsadowym, wynik na poziomie wystąpienia można wyświetlić na karcie Przegląd-metryki>.

Następne kroki