Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Fabric SDK-val végzett kiértékeléssel programozott módon tesztelheti, hogy az adatügynök mennyire válaszol a természetes nyelvi kérdésekre. Egy egyszerű Python-felülettel definiálhat alapigaz példákat, futtathat értékeléseket és elemezheti az eredményeket – mindezt a jegyzetfüzet környezetében. Ez segít ellenőrizni a pontosságot, hibákat, és biztosan javítani az ügynök működését az éles környezetbe való üzembe helyezés előtt.
Előfeltételek
- Fizetős F2 vagy magasabb Fabric-kapacitás, vagy Kapacitásonkénti Power BI Premium (P1 vagy újabb) kapacitás a Microsoft Fabric engedélyezésével
- A Fabric-adatügynök bérlői beállításai engedélyezve vannak.
- AI földrajzi területeken átívelő feldolgozása engedélyezett.
- Több földrajzi helyen történő tárolás a mesterséges intelligencia számára engedélyezve van.
- Legalább egy ilyen adattal: Egy raktár, egy tóház, egy vagy több Power BI szemantikai modell, KQL-adatbázis vagy ontológia.
- Az XMLA-végpontokon keresztüli Power BI szemantikai modellek bérlői váltása engedélyezve van a Power BI szemantikai modell adatforrásai számára.
Az adatügynök SDK telepítése
A Fabric Data Agent programozott kiértékeléséhez telepítenie kell a Fabric Data Agent Python SDK-t. Ez az SDK biztosítja azokat az eszközöket és módszereket, amelyek az adatügynökkel való interakcióhoz, a kiértékelések futtatásához és a naplóeredmények naplózásához szükségesek. Telepítse a legújabb verziót a következő parancs futtatásával a jegyzetfüzetben:
%pip install -U fabric-data-agent-sdk
Ez a lépés biztosítja, hogy a up-to-date funkciók és javítások elérhetők legyenek az SDK-ban.
Töltse be az alapadatkészletet
A Fabric Data Agent kiértékeléséhez szüksége van egy sor mintakérdésre és a várt válaszokra. Ezek a kérdések annak ellenőrzésére szolgálnak, hogy az ügynök milyen pontosan válaszol a valós lekérdezésekre.
Ezeket a kérdéseket közvetlenül a kódban definiálhatja egy pandas DataFrame használatával:
import pandas as pd
# Define a sample evaluation set with user questions and their expected answers.
# You can modify the question/answer pairs to match your scenario.
df = pd.DataFrame(
columns=["question", "expected_answer"],
data=[
["Show total sales for Canadian Dollar for January 2013", "46,117.30"],
["What is the product with the highest total sales for Canadian Dollar in 2013", "Mountain-200 Black, 42"],
["Total sales outside of the US", "19,968,887.95"],
["Which product category had the highest total sales for Canadian Dollar in 2013", "Bikes (Total Sales: 938,654.76)"]
]
)
Másik lehetőségként, ha már rendelkezik egy kiértékelési adatkészlettel, betöltheti egy CSV-fájlból, amelynek oszlopai a kérdés és a várható_válasz.
# Load questions and expected answers from a CSV file
input_file_path = "/lakehouse/default/Files/Data/Input/curated_2.csv"
df = pd.read_csv(input_file_path)
Ez az adatkészlet szolgál bemenetként az automatizált kiértékeléseknek az adatügynökön való futtatásához a pontosság és a lefedettség felméréséhez.
Értékelje és vizsgálja meg az adatügynökét
A következő lépés a kiértékelés futtatása a evaluate_data_agent függvény használatával. Ez a függvény összehasonlítja az ügynök válaszait a várt eredményekkel, és tárolja a kiértékelési metrikákat.
from fabric.dataagent.evaluation import evaluate_data_agent
# Name of your Data Agent
data_agent_name = "AgentEvaluation"
# (Optional) Name of the workspace if the Data Agent is in a different workspace
workspace_name = None
# (Optional) Name of the output table to store evaluation results (default: "evaluation_output")
# Two tables will be created:
# - "<table_name>": contains summary results (e.g., accuracy)
# - "<table_name>_steps": contains detailed reasoning and step-by-step execution
table_name = "demo_evaluation_output"
# Specify the Data Agent stage: "production" (default) or "sandbox"
data_agent_stage = "production"
# Run the evaluation and get the evaluation ID
evaluation_id = evaluate_data_agent(
df,
data_agent_name,
workspace_name=workspace_name,
table_name=table_name,
data_agent_stage=data_agent_stage
)
print(f"Unique ID for the current evaluation run: {evaluation_id}")
Értékelés összegzésének lekérése
A kiértékelés futtatása után lekérheti az eredmények magas szintű összegzését a get_evaluation_summary függvény használatával. Ez a függvény betekintést nyújt az adatügynök általános teljesítményébe – beleértve azokat a metrikákat is, mint például hogy hány válasz felelt meg a várt válaszoknak.
from fabric.dataagent.evaluation import get_evaluation_summary
# Retrieve a summary of the evaluation results
df = get_evaluation_summary(table_name)
Alapértelmezés szerint ez a függvény egy evaluation_output nevű táblát keres. Ha a kiértékelés során egyéni táblanevet adott meg (például "demo_evaluation_output"), adja meg ezt a table_name nevet argumentumként.
A visszaadott DataFrame olyan összesített metrikákat tartalmaz, mint a helyes, helytelen vagy nem egyértelmű válaszok száma. Ez az eredmény segít gyorsan felmérni az ügynök pontosságát, és azonosítani a fejlesztési területeket.
értékelési_összefoglaló_lekérése
Egy dataFrame-et ad vissza, amely magas szintű összefoglaló metrikákat tartalmaz egy befejezett kiértékelési futtatáshoz, például a helyes, helytelen és nem egyértelmű válaszok számát.
get_evaluation_summary(table_name='evaluation_output', verbose=False)
Bemeneti paraméterek:
-
table_name(str, nem kötelező) – A kiértékelési összefoglaló eredményeket tartalmazó táblázat neve. Alapértelmezett érték: ""evaluation_output. -
verbose(bool, nem kötelező) – Ha be van állítvaTrue, a kiértékelési metrikák összegzését nyomtatja ki a konzolon. Alapértelmezett érték:False.
Eredménye:
-
DataFrame– A pandas DataFrame, amely az értékelés összefoglaló statisztikáit tartalmazza, például:- Kiértékelt kérdések teljes száma
- Igaz, hamis és nem egyértelmű eredmények száma
- Pontosság
Részletes kiértékelési eredmények vizsgálata
Ha részletesebben szeretné tudni, hogy az adatügynök hogyan válaszolt az egyes kérdésekre, használja a függvényt get_evaluation_details . Ez a függvény a kiértékelési futtatás részletes lebontását adja vissza, beleértve a tényleges ügynökválaszokat, a várt választ, valamint a kiértékelési szálra mutató hivatkozást (csak az értékelést végrehajtó felhasználó számára látható).
from fabric.dataagent.evaluation import get_evaluation_details
# Table name used during evaluation
table_name = "demo_evaluation_output"
# Whether to return all evaluation rows (True) or only failures (False)
get_all_rows = False
# Whether to print a summary of the results
verbose = True
# Retrieve evaluation details for a specific run
eval_details = get_evaluation_details(
evaluation_id,
table_name,
get_all_rows=get_all_rows,
verbose=verbose
)
értékelési részletek lekérése
Egy adatkeretet ad vissza, amely részletes eredményeket tartalmaz egy adott kiértékelési futtatáshoz, beleértve a kérdéseket, a várt válaszokat, az ügynök válaszait, a kiértékelési állapotot és a diagnosztikai metaadatokat.
Bemeneti paraméterek:
-
evaluation_id(str) – Kötelező. A kiértékelési futtatás egyedi azonosítója a részletek lekéréséhez. -
table_name(str, nem kötelező) – A kiértékelési eredményeket tartalmazó tábla neve. Alapértelmezett érték:evaluation_output. -
get_all_rows(bool, nem kötelező) – Azt határozza meg, hogy az értékelés összes sorát (Igaz) vagy csak azokat a sorokat adja vissza, ahol az ügynök válasza helytelen vagy nem egyértelmű volt (Hamis). Alapértelmezett érték:False. -
verbose(bool, nem kötelező) – Ha Igaz értékre van állítva, a kiértékelési metrikák összegzését nyomtatja ki a konzolon. Alapértelmezett érték:False.
Eredménye:
DataFrame– Sorszintű kiértékelési eredményeket tartalmazó pandas DataFrame, beleértve a következőket:questionexpected_answeractual_answer-
evaluation_result(true,false,unclear) -
thread_url(csak a kiértékelő felhasználó számára érhető el)
A kiértékelési kérés testreszabása
Alapértelmezés szerint a Fabric SDK egy beépített kérdés használatával értékeli ki, hogy az adatügynök tényleges válasza megfelel-e a várt válasznak. A paraméter használatával critic_prompt azonban saját kérést is megadhat árnyaltabb vagy tartományspecifikus értékelésekhez.
Az egyéni kérésnek tartalmaznia kell a helyőrzőket {query}, {expected_answer}, és {actual_answer}. Ezek a helyőrzők dinamikusan helyettesítik az egyes kérdéseket az értékelés során.
from fabric.dataagent.evaluation import evaluate_data_agent
# Define a custom prompt for evaluating agent responses
critic_prompt = """
Given the following query, expected answer, and actual answer, please determine if the actual answer is equivalent to expected answer. If they are equivalent, respond with 'yes'.
Query: {query}
Expected Answer:
{expected_answer}
Actual Answer:
{actual_answer}
Is the actual answer equivalent to the expected answer?
"""
# Name of the Data Agent
data_agent_name = "AgentEvaluation"
# Run evaluation using the custom critic prompt
evaluation_id = evaluate_data_agent(df, data_agent_name, critic_prompt=critic_prompt)
Ez a funkció különösen akkor hasznos, ha:
- Az egyezésnek számító enyhébb vagy szigorúbb feltételekre szeretne alkalmazni.
- A várt és a tényleges válaszok formátuma eltérő lehet, de szemantikailag megegyezhet.
- A válaszok megítélésében tartományspecifikus árnyalatokat kell rögzítenie.
Diagnosztikai gomb
A Diagnosztika gombbal letöltheti az adatügynök konfigurációs és végrehajtási lépéseinek teljes pillanatképét. Ez az exportálás olyan részleteket tartalmaz, mint az adatforrás beállításai, az alkalmazott utasítások, a használt példa lekérdezések, valamint az adatügynök által a válasz létrehozásához szükséges alapvető lépések.
Ezt a funkciót a Microsoft támogatási szolgálatának használatakor vagy a váratlan viselkedés hibaelhárításakor használhatja. A letöltött fájl áttekintésével pontosan láthatja, hogyan dolgozta fel az adatügynök a kérést, mely konfigurációkat alkalmazta, és hol fordulhattak elő lehetséges problémák. Ez az átláthatósági szint megkönnyíti az adatügynök teljesítményének hibakeresését és optimalizálását.