หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
การประเมินด้วย Fabric SDK ช่วยให้คุณสามารถทดสอบโดยทางโปรแกรมว่า Data Agent ของคุณตอบคําถามภาษาธรรมชาติได้ดีเพียงใด เมื่อใช้อินเทอร์เฟซ Python ที่เรียบง่าย คุณสามารถกําหนดตัวอย่างความจริงพื้นฐาน เรียกใช้การประเมิน และวิเคราะห์ผลลัพธ์ ทั้งหมดนี้ภายในสภาพแวดล้อมสมุดบันทึกของคุณ ซึ่งจะช่วยให้คุณตรวจสอบความถูกต้อง ข้อผิดพลาดดีบัก และปรับปรุงตัวแทนของคุณอย่างมั่นใจก่อนที่จะปรับใช้กับการผลิต
สําคัญ
คุณลักษณะนี้อยู่ในตัวอย่าง
ข้อกําหนดเบื้องต้น
- ความจุ ความจุ Fabric F2 หรือสูงกว่า หรือความจุ Power BI Premium ต่อความจุ (P1 หรือสูงกว่า) ที่เปิดใช้งาน Microsoft Fabric
- เปิดใช้งานการประมวลผลข้ามภูมิศาสตร์และการจัดเก็บข้ามภูมิศาสตร์สําหรับ AI ตามข้อกําหนดที่อธิบายไว้ในการตั้งค่าผู้เช่าตัวแทนข้อมูล Fabric
- แหล่งข้อมูลเหล่านี้อย่างน้อยหนึ่งแหล่ง พร้อมข้อมูล: คลังสินค้า เลคเฮาส์ แบบจําลองความหมายของ Power BI ฐานข้อมูล KQL ฐานข้อมูลมิเรอร์ หรือออนโทโลยี คุณต้องมีสิทธิ์อ่านแหล่งข้อมูล
ติดตั้ง SDK ของตัวแทนข้อมูล
ในการเริ่มต้นการประเมิน Fabric Data Agent ของคุณโดยทางโปรแกรม คุณต้องติดตั้ง Fabric Data Agent Python SDK SDK นี้มีเครื่องมือและวิธีการที่จําเป็นในการโต้ตอบกับตัวแทนข้อมูลของคุณ เรียกใช้การประเมิน และผลลัพธ์การบันทึก ติดตั้งเวอร์ชันล่าสุดโดยการเรียกใช้คําสั่งต่อไปนี้ในสมุดบันทึกของคุณ:
%pip install -U fabric-data-agent-sdk
ขั้นตอนนี้ทําให้แน่ใจว่าคุณมีคุณลักษณะและการแก้ไข up-toล่าสุดที่พร้อมใช้งานใน SDK
โหลดชุดข้อมูลความจริงพื้นฐานของคุณ
ในการประเมิน Fabric Data Agent คุณต้องมีชุดคําถามตัวอย่างพร้อมกับคําตอบที่คาดหวัง คําถามเหล่านี้ใช้เพื่อตรวจสอบว่าตัวแทนตอบสนองต่อการคิวรีในโลกแห่งความเป็นจริงได้อย่างถูกต้องเพียงใด
คุณสามารถกําหนดคําถามเหล่านี้ได้โดยตรงในโค้ดของคุณโดยใช้ 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 ที่มีคําถามคอลัมน์และ 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 ฟังก์ชัน ฟังก์ชันนี้จะเปรียบเทียบการตอบสนองของตัวแทนกับผลลัพธ์ที่คาดหวังและจัดเก็บเมตริกการประเมิน
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}")
รับข้อมูลสรุปการประเมินผล
หลังจากเรียกใช้การประเมิน คุณสามารถดึงข้อมูลสรุประดับสูงของผลลัพธ์โดยใช้ get_evaluation_summary ฟังก์ชัน ฟังก์ชันนี้ให้ข้อมูลเชิงลึกเกี่ยวกับประสิทธิภาพการทํางานของตัวแทนข้อมูลของคุณโดยรวม รวมถึงเมตริก เช่น จํานวนคําตอบที่ตรงกับคําตอบที่คาดไว้
from fabric.dataagent.evaluation import get_evaluation_summary
# Retrieve a summary of the evaluation results
df = get_evaluation_summary(table_name)
ตามค่าเริ่มต้น ฟังก์ชันนี้จะค้นหาตารางที่มีชื่อ evaluation_output ถ้าคุณระบุชื่อตารางแบบกําหนดเองในระหว่างการประเมิน (เช่น "demo_evaluation_output") ให้ส่งผ่านชื่อนั้นเป็น table_name อาร์กิวเมนต์
DataFrame ที่ส่งกลับมาประกอบด้วยเมตริกรวม เช่น จํานวนของการตอบสนองที่ถูกต้อง ไม่ถูกต้อง หรือไม่ชัดเจน ผลลัพธ์นี้ช่วยให้คุณประเมินความถูกต้องของตัวแทนได้อย่างรวดเร็วและระบุจุดที่ต้องปรับปรุง
get_evaluation_summary
แสดง DataFrame ที่มีเมตริกสรุประดับสูงสําหรับการเรียกใช้การประเมินที่เสร็จสมบูรณ์ เช่น จํานวนของการตอบสนองที่ถูกต้อง ไม่ถูกต้อง และไม่ชัดเจน
get_evaluation_summary(table_name='evaluation_output', verbose=False)
พารามิเตอร์ข้อมูลป้อนเข้า:
-
table_name(str, optional) – ชื่อของตารางที่มีผลลัพธ์สรุปการประเมิน ค่าเริ่มต้นเป็น 'evaluation_output' -
verbose(bool, optional) – ถ้าตั้งค่าเป็นTrueจะพิมพ์ข้อมูลสรุปของเมตริกการประเมินไปยังคอนโซล ค่าเริ่มต้นเป็นFalse
กลับ:
-
DataFrame– DataFrame ของ pandas ที่ประกอบด้วยสถิติสรุปสําหรับการประเมิน เช่น:- จํานวนรวมของคําถามที่ประเมิน
- จํานวนผลลัพธ์ true, false และ unclear
- ความถูกต้อง
ตรวจสอบผลลัพธ์การประเมินโดยละเอียด
หากต้องการเจาะลึกวิธีการที่เจ้าหน้าที่ข้อมูลของคุณตอบสนองแต่ละคําถาม ให้ใช้ 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
)
get_evaluation_details
ส่งกลับ DataFrame ที่มีผลลัพธ์โดยละเอียดสําหรับการเรียกใช้การประเมินเฉพาะรวมถึงคําถาม คําตอบที่คาดหวัง การตอบสนองของตัวแทน สถานะการประเมิน และเมตาดาต้าการวินิจฉัย
พารามิเตอร์ข้อมูลป้อนเข้า:
-
evaluation_idจําเป็นต้องมี (str) รหัสเฉพาะสําหรับการประเมินที่เรียกใช้เพื่อดึงข้อมูลรายละเอียด -
table_name(str, optional) – ชื่อของตารางที่มีผลลัพธ์การประเมิน ค่าเริ่มต้นเป็นevaluation_output -
get_all_rows(bool, ไม่บังคับ) – จะส่งคืนแถวทั้งหมดจากการประเมิน (จริง) หรือเฉพาะแถวที่การตอบสนองของตัวแทนไม่ถูกต้องหรือไม่ชัดเจน (เท็จ) ค่าเริ่มต้นเป็นFalse -
verbose(bool, optional) – ถ้าตั้งค่าเป็น True จะพิมพ์สรุปของเมตริกการประเมินไปยังคอนโซล ค่าเริ่มต้นเป็นFalse
กลับ:
DataFrame– Pandas DataFrame ที่ประกอบด้วยผลลัพธ์การประเมินระดับแถว รวมถึง:questionexpected_answeractual_answer-
evaluation_result(,truefalse, )unclear -
thread_url(เฉพาะผู้ใช้ที่เรียกใช้การประเมินผลเท่านั้น)
กําหนดค่าพร้อมท์สําหรับการประเมินของคุณ
ตามค่าเริ่มต้น 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 ของคุณ