Tietoagenttisi arvioiminen (esikatselu)

Käyttämällä Fabric SDK:ta arviointiin voit ohjelmallisesti testata, kuinka hyvin dataagenttisi vastaa luonnollisen kielen kysymyksiin. Yksinkertaisen Python-käyttöliittymän avulla voit määritellä perustotuusesimerkkejä, suorittaa arvioita ja analysoida tuloksia – kaikki muistikirjasi ympäristössä. Tämä prosessi auttaa varmistamaan tarkkuuden, virheiden korjaamisen ja agentin luottavaisen kehityksen parantamisen ennen sen käyttöönottoa tuotantoon.

Tärkeää

Tämä ominaisuus on esikatselutilassa.

Edellytykset

Tietoagentti SDK:n asentaminen

Jos haluat aloittaa Fabric-dataagentin ohjelmallisen arvioinnin, asenna Fabric Data Agent Python SDK. Tämä SDK tarjoaa työkalut ja menetelmät, joita tarvitaan vuorovaikutukseen tietoagenttisi kanssa, arviointien suorittamiseen ja tulosten lokiin. Asenna uusin versio suorittamalla seuraava komento muistikirjassasi:

%pip install -U fabric-data-agent-sdk

Tämä vaihe varmistaa, että sinulla on eniten up-to-date-ominaisuuksia ja -korjauksia, jotka ovat käytettävissä SDK:ssä.

Lataa perustotuustietojoukko

Arvioidaksesi Fabric-dataagenttiasi tarvitset joukon esimerkkikysymyksiä sekä odotetut vastaukset. Käytä näitä kysymyksiä varmistaaksesi, kuinka tarkasti agentti vastaa todellisiin kyselyihin.

Määrittele nämä kysymykset suoraan koodissasi käyttämällä pandas DataFramea:

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)"]
    ]
)

Vaihtoehtoisesti, jos sinulla on olemassa oleva arviointiaineisto, lataa se CSV-tiedostosta, jossa on sarakkeet question ja expected_answer:

# 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)

Tämä tietojoukko toimii syötteenä automaattisten arviointien suorittamiseen tietoagenttiasi vastaan tarkkuuden ja kattavuuden arvioimiseksi.

Arvioi ja arvioi tietoagenttisi

Seuraava vaihe on suorittaa arviointi käyttämällä funktiota evaluate_data_agent . Tämä funktio vertaa agentin vastauksia odotettuihin tuloksiisi ja tallentaa arviointimittarit.

Muistio

Tämä vaihe vaatii dataagentin, joka on jo julkaistu siihen vaiheeseen asti, jonka arvioit (production tai sandbox). Jos sinulla ei vielä ole sellaista, katso Create a Fabric data agent.

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
try:
    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}")
except Exception as e:
    print(f"Evaluation failed: {e}")

Suorituksen päätyttyä näet seuraavan tekstin kaltaisen tuloksen:

Unique ID for the current evaluation run: <evaluation-id>

Arvioinnin yhteenvedon hakeminen

Arvioinnin suorittamisen jälkeen voit hakea korkean tason yhteenvedon tuloksista käyttämällä funktiota get_evaluation_summary . Tämä funktio tarjoaa tietoa siitä, kuinka hyvin dataagenttisi suoriutui kokonaisuudessaan, mukaan lukien mittarit kuten kuinka monta vastausta vastasi odotettuja vastauksia.

from fabric.dataagent.evaluation import get_evaluation_summary

# Retrieve a summary of the evaluation results
summary_df = get_evaluation_summary(table_name)

Näyttökuva, jossa näkyy yhteenveto tietoagenttien arviointituloksista.

Oletuksena tämä funktio etsii taulukkoa nimeltä evaluation_output. Jos määritit arvioinnin aikana mukautetun taulun nimen (esim demo_evaluation_output.), anna se nimi table_name argumentiksi.

Palautettu DataFrame sisältää koostettuja arvoja, kuten oikeiden, virheellisten tai selvien vastausten määrän. Tämä tulos auttaa sinua nopeasti arvioimaan agentin tarkkuutta ja tunnistamaan parannuskohteita.

Tarkan arvioinnin tulosten tarkistus

Syventyäksesi siihen, miten dataagenttisi vastasi jokaiseen yksittäiseen kysymykseen, käytä funktiota get_evaluation_details . Tämä funktio palauttaa arvioinnin suorituksen yksityiskohtaisen erittelyn, mukaan lukien todelliset agenttivastaukset, sen, vastasivatko ne odotettua vastausta, ja linkin arviointiketjuun (näkyvissä vain arvioinnin suorittaneelle käyttäjälle).

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
)

Näyttökuva, jossa näkyvät tietyn tietoagentin arviointitulosten tiedot.

Kehotteen mukauttaminen arviointia varten

Oletuksena Fabric SDK käyttää sisäänrakennettua kehotetta arvioidakseen, vastaako dataagentin todellinen vastaus odotettua vastausta. Voit kuitenkin tarjota oman kehotteesi hienovaraisempiin tai alakohtaisempiin arviointeihin käyttämällä parametria critic_prompt .

Mukautetun kehotteen tulee sisältää paikkamerkit {query}, {expected_answer}ja {actual_answer}. Arviointiprosessi korvaa dynaamisesti nämä paikkamerkit jokaiselle kysymykselle.

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)

Tämä ominaisuus on erityisen hyödyllinen, kun:

  • Haluat soveltaa joustavampia tai tiukempia kriteerejä sille, mikä lasketaan osumaksi.
  • Odotetut ja todelliset vastaukset voivat vaihdella muodoltaan, mutta silti semanttisesti samankaltaisia.
  • Sinun on tallennettava toimialuekohtaisia vivahteita siitä, miten vastauksia tulee arvioida.

Diagnostiikkapainike

Diagnostiikkapainikkeella voit ladata täydellisen kuvan dataagentin konfiguraatiosta ja suoritusvaiheista. Tämä vienti sisältää yksityiskohtia, kuten tietolähdeasetukset, sovellettavat ohjeet, käytetyt esimerkkikyselyt sekä taustalla olevat vaiheet, joita dataagentti on tehnyt vastauksen tuottamiseksi.

Käytä tätä ominaisuutta työskennellessäsi Microsoft-tuki -palvelun kanssa tai vianmäärittäessäsi odottamatonta käyttäytymistä. Tarkastelemalla ladattua tiedostoa näet tarkalleen, miten dataagentti käsitteli pyyntöäsi, mitä asetuksia sovellettiin ja missä mahdollisia ongelmia ilmeni. Tämä läpinäkyvyyden taso helpottaa dataagentin virheenkorjausta ja suorituskyvyn optimointia.

Kuvakaappaus diagnostiikkapainikkeesta dataagentissa.

Vianmääritys

Ongelma Syy Resoluutio
Dataagentti ei löytynyt Tai data_agent_nameworkspace_name on virheellinen, tai agentti ei ole julkaistu. Varmista agentin nimi ja työtila, ja varmista, että agentti julkaistaan määritellylle data_agent_stage.
Tyhjät tai puuttuvat tulokset Taulukon nimi ei vastaa sitä, mitä käytetään kohdassa evaluate_data_agent. Anna sama table_name ja .get_evaluation_summaryget_evaluation_details
message_url ei ole saavutettavissa Arviointiketjut näkyvät vain käyttäjälle, joka suoritti arvioinnin. Suorita arviointi uudelleen omalla henkilöllisyydelläsi päästäksesi säikeen linkkeihin.
Mukautettu kehotteessa ei ole vaikutusta tai virheitä Puuttuvat critic_prompt vaaditut paikkamerkit. Sisällytä {query}, {expected_answer}, ja {actual_answer} kehotteeseesi.
Lupa- tai kapasiteettivirhe Puuttuu F2 tai suurempi kapasiteetti, tai puuttuu lukuoikeus tietolähteeseen. Varmista edellytykset, mukaan lukien kapasiteetti ja tietolähteiden lukuoikeudet.

Seuraavat vaiheet