Aracılığıyla paylaş


Veri aracınızı değerlendirme (önizleme)

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

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)

Veri aracısı değerlendirme sonuçlarının özetini gösteren ekran görüntüsü.

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ı) – olarak Trueayarlanırsa, değerlendirme ölçümlerinin özetini konsola yazdırır. Varsayılan olarak False değ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
)

Belirli bir veri aracısı değerlendirme sonuçlarının ayrıntılarını gösteren ekran görüntüsü.

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 olarak evaluation_output değ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 olarak False değerini alır.
  • verbose (bool, isteğe bağlı) – True olarak ayarlanırsa, değerlendirme ölçümlerinin özetini konsola yazdırır. Varsayılan olarak False değerini alır.

İade:

  • DataFrame – Aşağıdakiler dahil olmak üzere satır düzeyi değerlendirme sonuçlarını içeren pandas DataFrame:

    • question
    • expected_answer
    • actual_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.

Veri Aracısı'ndaki tanılama düğmesinin ekran görüntüsü

Sonraki Adımlar