Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Doku SDK'sı ile değerlendirme, Veri Aracınızın doğal dil sorularına ne kadar iyi yanıt verdiğini program aracılığıyla test etmenizi sağlar. Basit bir Python arabirimi kullanarak, temel gerçeklik örnekleri tanımlayabilir, değerlendirmeleri çalıştırabilir ve sonuçları analiz edebilirsiniz. Bunların tümü not defteri ortamınızda çalıştırılabilir. Bu, aracınızı üretime dağıtmadan önce doğruluğu doğrulamanıza, hataları ayıklamanıza ve güvenle geliştirmenize yardımcı olur.
Önemli
Bu özellik önizleme aşamasındadır.
Önkoşullar
- Ücretli bir F2 veya daha yüksek Doku kapasitesi ya da Microsoft Fabric'in etkinleştirildiğikapasite başına Power BI Premium (P1 veya üzeri) kapasite
- Fabric veri aracısı kiracı ayarları etkinleştirildi.
- Yapay zeka için coğrafi bölgeler arası işleme etkinleştirilir.
- Yapay zeka için coğrafi bölgeler arası depolama etkindir.
- Veri içeren bunlardan en az biri: Ambar, göl evi, bir veya daha fazla Power BI anlam modeli, KQL veritabanı veya ontoloji.
- XMLA uç noktaları aracılığıyla Power BI anlam modellerinin, Power BI anlam modeli veri kaynakları için etkinleştirilmesi sağlanmıştır.
Veri aracısı SDK'sını yükleme
Doku Veri Aracınızı program aracılığıyla değerlendirmeye başlamak için Doku Veri Aracısı Python SDK'sını yüklemeniz gerekir. Bu SDK, veri aracınızla etkileşime geçmek, değerlendirmeleri çalıştırmak ve sonuçları günlüğe kaydetmek için gereken araçları ve yöntemleri sağlar. Not defterinizde aşağıdaki komutu çalıştırarak en son sürümü yükleyin:
%pip install -U fabric-data-agent-sdk
Bu adım, SDK'da en up-togüncel özelliklere ve düzeltmelere sahip olduğunuzdan emin olunmasını sağlar.
Temel gerçeklik veri kümenizi yükleme
Doku Veri Aracınızı değerlendirmek için, beklenen yanıtlarla birlikte bir dizi örnek sorunuz olması gerekir. Bu sorular, aracının gerçek dünyadaki sorgulara ne kadar doğru yanıt verdiğini doğrulamak için kullanılır.
Bu soruları doğrudan pandas DataFrame kullanarak kodunuzda tanımlayabilirsiniz:
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)"]
]
)
Alternatif olarak, mevcut bir değerlendirme veri kümeniz varsa, bunu "soru" ve "beklenen_cevap" sütunları olan bir CSV dosyasından yükleyebilirsiniz.
# 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)
Bu veri kümesi, doğruluğu ve kapsamı değerlendirmek için veri aracınızda otomatik değerlendirmeler çalıştırmaya yönelik giriş görevi görür.
Veri aracınızı değerlendirin ve inceleyin
Sonraki adım, evaluate_data_agent işlevini kullanarak değerlendirmeyi çalıştırmaktır. Bu işlev, aracının yanıtlarını beklediğiniz sonuçlarla karşılaştırır ve değerlendirme ölçümlerini depolar.
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}")
Değerlendirme özetini alma
Değerlendirmeyi çalıştırdıktan sonra get_evaluation_summary işlevini kullanarak sonuçların üst düzey bir özetini alabilirsiniz. Bu işlev, Beklenen yanıtlarla eşleşen yanıtlar gibi ölçümler de dahil olmak üzere Veri Aracınızın genel olarak ne kadar iyi performans sergilediğine ilişkin içgörüler sağlar.
from fabric.dataagent.evaluation import get_evaluation_summary
# Retrieve a summary of the evaluation results
df = get_evaluation_summary(table_name)
Varsayılan olarak, bu işlev evaluation_output adlı bir tabloyu arar. Değerlendirme sırasında özel bir tablo adı belirttiyseniz ("demo_evaluation_output"), bu adı table_name bağımsız değişkeni olarak geçirin.
Döndürülen DataFrame doğru, yanlış veya belirsiz yanıt sayısı gibi toplu ölçümleri içerir. Bu sonuç, temsilcinin doğruluğunu hızlı bir şekilde değerlendirmenize ve iyileştirme alanlarını belirlemenize yardımcı olur.
degerlendirme_ozeti_al
Tamamlanmış bir değerlendirme çalıştırması için doğru, yanlış ve belirsiz yanıt sayısı gibi üst düzey özet ölçümleri içeren bir DataFrame döndürür.
get_evaluation_summary(table_name='evaluation_output', verbose=False)
Giriş parametreleri:
-
table_name(str, isteğe bağlı) – Değerlendirme özet sonuçlarını içeren tablonun adı. Varsayılan olarak 'evaluation_output' olarak ayarlanır. -
verbose(bool, isteğe bağlı) – olarakTrueayarlanırsa, değerlendirme ölçümlerinin özetini konsola yazdırır. Varsayılan olarakFalsedeğerini alır.
İade:
-
DataFrame– Değerlendirme için özet istatistikleri içeren pandas DataFrame, örneğin:- Değerlendirilen soruların toplam sayısı
- Doğru, yanlış ve belirsiz sonuçların sayısı
- Doğruluk
Ayrıntılı değerlendirme sonuçlarını inceleme
Veri Aracınızın her bir soruya nasıl yanıt verdiğine daha ayrıntılı bir şekilde göz atmak için işlevini kullanın get_evaluation_details . Bu fonksiyon, ajan yanıtları, beklenen yanıtla eşleşip eşleşmediği ve değerlendirme dizisinin bağlantısı dahil olmak üzere değerlendirme çalıştırmasının ayrıntılı dökümünü döndürür (yalnızca değerlendirmeyi yürüten kullanıcı tarafından görülebilir).
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
)
değerlendirme_detaylarını_al
Sorular, beklenen yanıtlar, aracı yanıtları, değerlendirme durumu ve tanılama meta verileri gibi belirli bir değerlendirme çalıştırması için ayrıntılı sonuçlar içeren bir DataFrame döndürür.
Giriş parametreleri:
-
evaluation_id(str) – Gerekli. Ayrıntılarını almak için değerlendirme işleminin benzersiz tanımlayıcısı. -
table_name(str, isteğe bağlı) – Değerlendirme sonuçlarını içeren tablonun adı. Varsayılan olarakevaluation_outputdeğerini alır. -
get_all_rows(bool, isteğe bağlı) – Değerlendirmedeki tüm satırların mı (True) yoksa yalnızca aracının yanıtının yanlış veya belirsiz olduğu satırların mı (Yanlış) döndürüleceği. Varsayılan olarakFalsedeğerini alır. -
verbose(bool, isteğe bağlı) – True olarak ayarlanırsa, değerlendirme ölçümlerinin özetini konsola yazdırır. Varsayılan olarakFalsedeğerini alır.
İade:
DataFrame– Aşağıdakiler dahil olmak üzere satır düzeyi değerlendirme sonuçlarını içeren pandas DataFrame:questionexpected_answeractual_answer-
evaluation_result(true,false,unclear) -
thread_url(yalnızca değerlendirmeyi çalıştıran kullanıcı tarafından erişilebilir)
Değerlendirme isteminizi özelleştirme
Varsayılan olarak, Doku SDK'sı, Veri Aracısı'nın gerçek yanıtının beklenen yanıtla eşleşip eşleşmediğini değerlendirmek için yerleşik bir istem kullanır. Ancak, değerlendirmeleri daha ayrıntılı veya etki alanına özgü hale getirmek için c0 parametresini kullanarak kendi isteminizi sağlayabilirsiniz.
Özel isteminiz {query}, {expected_answer} ve {actual_answer} yer tutucularını içermelidir. Bu yer tutucular, değerlendirme sırasında her soru için dinamik olarak değiştirilir.
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)
Bu özellik özellikle aşağıdaki durumlarda kullanışlıdır:
- Eşleşme olarak sayılacak kriterlerin daha yumuşak veya daha katı olması için başvurmak istiyorsunuz.
- Beklediğiniz yanıtlar ve gerçek yanıtlar biçime göre değişebilir, ancak yine de eşanlamlı olarak eşdeğerdir.
- Yanıtların nasıl değerlendirileceği konusunda etki alanına özgü nüansları yakalamanız gerekir.
Tanılama Düğmesi
Tanılama düğmesi, Veri Aracınızın yapılandırma ve yürütme adımlarının tam anlık görüntüsünü indirmenize olanak tanır. Bu dışarı aktarma veri kaynağı ayarları, uygulanan yönergeler, kullanılan örnek sorgular ve Veri Aracısı'nın yanıtını oluşturmak için attığı temel adımlar gibi ayrıntıları içerir.
Microsoft Desteği ile çalışırken veya beklenmeyen davranış sorunlarını giderirken bu özelliği kullanın. İndirilen dosyayı gözden geçirerek, Veri Aracısı'nın isteğinizi tam olarak nasıl işlediğini, hangi yapılandırmaların uygulandığını ve olası sorunların oluştuğu yerleri görebilirsiniz. Bu saydamlık düzeyi, Veri Aracınızın performansının hatalarını ayıklamayı ve iyileştirmeyi kolaylaştırır.