Αξιολόγηση του παράγοντα δεδομένων σας (προεπισκόπηση)

Χρησιμοποιώντας το Fabric SDK για αξιολόγηση, μπορείτε να ελέγξετε μέσω προγραμματισμού πόσο καλά ανταποκρίνεται ο εκπρόσωπος δεδομένων σας σε ερωτήσεις φυσικής γλώσσας. Χρησιμοποιώντας ένα απλό περιβάλλον εργασίας Python, μπορείτε να ορίσετε παραδείγματα βασικής αλήθειας, να εκτελέσετε αξιολογήσεις και να αναλύσετε τα αποτελέσματα—όλα μέσα στο περιβάλλον του σημειωματαρίου σας. Αυτή η διαδικασία σάς βοηθά να επικυρώσετε την ακρίβεια, να διορθώσετε σφάλματα και να βελτιώσετε με σιγουριά τον αντιπρόσωπό σας πριν τον αναπτύξετε στην παραγωγή.

Σημαντικό

Αυτή η δυνατότητα βρίσκεται προεπισκόπηση.

Προαπαιτούμενα στοιχεία

Εγκατάσταση του παράγοντα δεδομένων SDK

Για να ξεκινήσετε με την αξιολόγηση του παράγοντα δεδομένων Fabric μέσω προγραμματισμού, εγκαταστήστε το Python SDK του παράγοντα δεδομένων Fabric. Αυτό το SDK παρέχει τα εργαλεία και τις μεθόδους που απαιτούνται για την αλληλεπίδραση με τον παράγοντα δεδομένων σας, την εκτέλεση αξιολογήσεων και τα αποτελέσματα του αρχείου καταγραφής. Εγκαταστήστε την πιο πρόσφατη έκδοση εκτελώντας την ακόλουθη εντολή στο σημειωματάριό σας:

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

Αυτό το βήμα εξασφαλίζει ότι έχετε τις πιο up-toδυνατότητες και επιδιορθώσεις διαθέσιμες στο SDK.

Φόρτωση του συνόλου δεδομένων αλήθειας εδάφους

Για να αξιολογήσετε τον παράγοντα δεδομένων Fabric, χρειάζεστε ένα σύνολο δειγμάτων ερωτήσεων μαζί με τις αναμενόμενες απαντήσεις. Χρησιμοποιήστε αυτές τις ερωτήσεις για να επαληθεύσετε την ακρίβεια με την οποία ανταποκρίνεται ο εκπρόσωπος σε ερωτήματα του πραγματικού κόσμου.

Ορίστε αυτές τις ερωτήσεις απευθείας στον κώδικά σας χρησιμοποιώντας ένα pandas DataFrame:

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

Εναλλακτικά, εάν έχετε ένα υπάρχον σύνολο δεδομένων αξιολόγησης, φορτώστε το από ένα αρχείο CSV με τις στήλες question και 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)

Αυτό το σύνολο δεδομένων χρησιμεύει ως είσοδος για την εκτέλεση αυτοματοποιημένων αξιολογήσεων σε σχέση με τον παράγοντα δεδομένων σας για την αξιολόγηση της ακρίβειας και της κάλυψης.

Αξιολόγηση και αξιολόγηση του παράγοντα δεδομένων σας

Το επόμενο βήμα είναι να εκτελέσετε την αξιολόγηση χρησιμοποιώντας τη evaluate_data_agent συνάρτηση. Αυτή η συνάρτηση συγκρίνει τις απαντήσεις του εκπροσώπου με τα αναμενόμενα αποτελέσματα και αποθηκεύει τα μετρικά αξιολόγησης.

Σημείωμα

Αυτό το βήμα απαιτεί έναν παράγοντα δεδομένων που έχει ήδη δημοσιευτεί στο στάδιο που αξιολογείτε (production ή sandbox). Εάν δεν έχετε ακόμη, ανατρέξτε στο θέμα Δημιουργία παράγοντα δεδομένων Fabric.

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

Μετά την ολοκλήρωση της εκτέλεσης, εμφανίζεται έξοδος παρόμοια με το ακόλουθο κείμενο:

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

Λήψη σύνοψης αξιολόγησης

Μετά την εκτέλεση της αξιολόγησης, μπορείτε να ανακτήσετε μια σύνοψη υψηλού επιπέδου των αποτελεσμάτων χρησιμοποιώντας τη get_evaluation_summary συνάρτηση. Αυτή η λειτουργία παρέχει πληροφορίες σχετικά με το πόσο καλά απέδωσε συνολικά ο πράκτορας δεδομένων σας, συμπεριλαμβανομένων μετρήσεων όπως πόσες απαντήσεις ταιριάζουν με τις αναμενόμενες απαντήσεις.

from fabric.dataagent.evaluation import get_evaluation_summary

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

Στιγμιότυπο οθόνης που εμφανίζει τη σύνοψη των αποτελεσμάτων αξιολόγησης του παράγοντα δεδομένων.

Από προεπιλογή, αυτή η συνάρτηση αναζητά έναν πίνακα με το όνομα evaluation_output. Εάν καθορίσατε ένα προσαρμοσμένο όνομα πίνακα κατά την αξιολόγηση (όπως demo_evaluation_output), μεταβιβάστε αυτό το table_name όνομα ως όρισμα.

Το DataFrame που επιστρέφεται περιλαμβάνει συγκεντρωτικά μετρικά όπως τον αριθμό των σωστών, λανθασμένων ή ασαφών αποκρίσεων. Αυτό το αποτέλεσμα σάς βοηθά να αξιολογήσετε γρήγορα την ακρίβεια του πράκτορα και να εντοπίσετε τομείς προς βελτίωση.

Εξέταση λεπτομερών αποτελεσμάτων αξιολόγησης

Για να εμβαθύνετε στον τρόπο με τον οποίο ο πράκτορας δεδομένων σας απάντησε σε κάθε μεμονωμένη ερώτηση, χρησιμοποιήστε τη get_evaluation_details συνάρτηση. Αυτή η συνάρτηση επιστρέφει μια λεπτομερή ανάλυση της εκτέλεσης αξιολόγησης, συμπεριλαμβανομένων των πραγματικών αποκρίσεων του παράγοντα, εάν συμφωνούν με την αναμενόμενη απάντηση και μια σύνδεση προς το νήμα αξιολόγησης (ορατή μόνο στον χρήστη που πραγματοποίησε την αξιολόγηση).

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
)

Στιγμιότυπο οθόνης που εμφανίζει λεπτομέρειες για τα αποτελέσματα αξιολόγησης ενός συγκεκριμένου παράγοντα δεδομένων.

Προσαρμογή της προτροπής σας για αξιολόγηση

Από προεπιλογή, το Fabric SDK χρησιμοποιεί μια ενσωματωμένη προτροπή για να αξιολογήσει εάν η πραγματική απάντηση του παράγοντα δεδομένων ταιριάζει με την αναμενόμενη απάντηση. Ωστόσο, μπορείτε να δώσετε τη δική σας προτροπή για πιο διαφοροποιημένες ή ειδικές αξιολογήσεις για συγκεκριμένο τομέα, χρησιμοποιώντας την critic_prompt παράμετρο.

Η προσαρμοσμένη προτροπή θα πρέπει να περιλαμβάνει τα σύμβολα κράτησης {query}θέσης , {expected_answer}και {actual_answer}. Η διαδικασία αξιολόγησης αντικαθιστά δυναμικά αυτά τα σύμβολα κράτησης θέσης για κάθε ερώτηση.

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)

Αυτή η δυνατότητα είναι ιδιαίτερα χρήσιμη όταν:

  • Θέλετε να εφαρμόσετε πιο επιεική ή αυστηρότερα κριτήρια για το τι μετράει ως ταίριασμα.
  • Οι αναμενόμενες και οι πραγματικές απαντήσεις σας μπορεί να διαφέρουν ως προς τη μορφή, αλλά εξακολουθούν να είναι σημασιολογικά ισοδύναμες.
  • Πρέπει να καταγράψετε αποχρώσεις για συγκεκριμένους τομείς στον τρόπο με τον οποίο θα πρέπει να κριθούν οι απαντήσεις.

Κουμπί διαγνωστικού ελέγχου

Το κουμπί Διαγνωστικά σάς επιτρέπει να κάνετε λήψη ενός πλήρους στιγμιότυπου των βημάτων διαμόρφωσης και εκτέλεσης του παράγοντα δεδομένων σας. Αυτή η εξαγωγή περιλαμβάνει λεπτομέρειες όπως ρυθμίσεις προέλευσης δεδομένων, οδηγίες που εφαρμόστηκαν, παραδείγματα ερωτημάτων που χρησιμοποιήθηκαν και τα υποκείμενα βήματα που έκανε ο πράκτορας δεδομένων για να δημιουργήσει την απόκρισή του.

Χρησιμοποιήστε αυτήν τη δυνατότητα όταν εργάζεστε με την Υποστήριξη της Υποστήριξη της Microsoft ή αντιμετωπίζετε προβλήματα μη αναμενόμενης συμπεριφοράς. Εξετάζοντας το ληφθέν αρχείο, μπορείτε να δείτε ακριβώς πώς ο παράγοντας δεδομένων επεξεργάστηκε το αίτημά σας, ποιες διαμορφώσεις εφαρμόστηκαν και πού προέκυψαν πιθανά προβλήματα. Αυτό το επίπεδο διαφάνειας διευκολύνει τον εντοπισμό σφαλμάτων και τη βελτιστοποίηση της απόδοσης του εκπροσώπου δεδομένων σας.

Στιγμιότυπο οθόνης του κουμπιού διαγνωστικών στον παράγοντα δεδομένων.

Επίλυση προβλημάτων

Ζήτημα Αιτία Επίλυση
Ο πράκτορας δεδομένων δεν βρέθηκε Το data_agent_name ή workspace_name είναι λανθασμένο ή ο πράκτορας δεν δημοσιεύεται. Επαληθεύστε το όνομα και τον χώρο εργασίας του εκπροσώπου και βεβαιωθείτε ότι ο εκπρόσωπος έχει δημοσιευτεί στην καθορισμένη data_agent_stage.
Κενά ή ελλιπή αποτελέσματα Το όνομα του πίνακα δεν ταιριάζει με αυτό που χρησιμοποιήθηκε κατά τη διάρκεια evaluate_data_agentτου . Περάστε το ίδιο table_name στο get_evaluation_summary και get_evaluation_details.
message_url δεν είναι προσβάσιμο Τα νήματα αξιολόγησης είναι ορατά μόνο στον χρήστη που εκτέλεσε την αξιολόγηση. Εκτελέστε ξανά την αξιολόγηση με τη δική σας ταυτότητα για να αποκτήσετε πρόσβαση στους συνδέσμους νημάτων.
Η προσαρμοσμένη προτροπή δεν έχει κανένα αποτέλεσμα ή σφάλματα Λείπουν critic_prompt τα απαιτούμενα σύμβολα κράτησης θέσης. Συμπεριλάβετε {query}, {expected_answer}και {actual_answer} στην προτροπή σας.
Σφάλμα δικαιωμάτων ή εκχωρημένων πόρων Λείπει η χωρητικότητα F2 ή μεγαλύτερη ή λείπει η πρόσβαση ανάγνωσης στην προέλευση δεδομένων. Επιβεβαιώστε τις προϋποθέσεις, συμπεριλαμβανομένων των εκχωρημένων πόρων και της πρόσβασης ανάγνωσης προέλευσης δεδομένων.

Επόμενα βήματα