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.
Önemli
Bu makalede işaretlenen (önizleme) öğeler şu anda genel önizleme aşamasındadır. Bu önizleme, hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yükleri için önerilmez. Bazı özellikler desteklenmeyebilir veya kısıtlı özelliklere sahip olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri için Uygun Kullanım Koşulları.
Bu makalede, test veri kümesinde ön dağıtım testi için bulutta değerlendirmeleri çalıştırmayı (önizleme) öğreneceksiniz.
Bulut değerlendirmelerini, özellikle büyük ölçekte test ederken, değerlendirmeleri sürekli tümleştirme ve sürekli teslim (CI/CD) işlem hatlarıyla tümleştirirken veya dağıtım öncesi test gerçekleştirirken çoğu senaryo için kullanın. Değerlendirmelerin bulutta çalıştırılması, yerel işlem altyapısını yönetme gereksinimini ortadan kaldırır ve büyük ölçekli, otomatikleştirilmiş test iş akışlarını destekler. Ayrıca değerlendirmeleri yinelenen olarak çalışacak şekilde zamanlayabilir veya üretimde örneklenen aracı yanıtlarını otomatik olarak değerlendirmek için sürekli değerlendirme ayarlayabilirsiniz.
Bulut değerlendirme sonuçları Dökümhane projenizde depolanır. Portalda sonuçları gözden geçirebilir, SDK aracılığıyla alabilir veya bağlıysa Application Insights'a yönlendirebilirsiniz. Bulut değerlendirmesi, tüm Microsoft tarafından seçilmiş yerleşik değerlendiriciler ve kendi özel değerlendiricilerinizi destekler. Değerlendiriciler, değerlendirici kataloğunda aynı proje kapsamı, rol tabanlı erişim denetimiyle yönetilir.
Ipucu
Çalıştırılabilir örneklerin tamamı için GitHub Python SDK değerlendirme örnekleri bakın.
Bulut değerlendirmesi nasıl çalışır?
Bulut değerlendirmesini çalıştırmak için, veri şemanız ve test ölçütlerinizle (değerlendiriciler) bir değerlendirme tanımı oluşturur ve ardından bir değerlendirme çalıştırması oluşturursunuz. Çalıştırma, her değerlendiriciyi verilerinize karşı yürütür ve tamamlanmak üzere yoklayabileceğiniz puanlanmış sonuçlar döndürür.
Bulut değerlendirmesi aşağıdaki senaryoları destekler:
| Senaryo | Ne zaman kullanılır? | Veri kaynağı türü | Hedef |
|---|---|---|---|
| Veri kümesi değerlendirmesi | JSONL dosyasında önceden hesaplanan yanıtları değerlendirin. | jsonl |
— |
| CSV veri kümesi değerlendirmesi | Csv dosyasında önceden hesaplanan yanıtları değerlendirin. | csv |
— |
| Model hedef değerlendirmesi | Değerlendirme için çalışma zamanında bir modelden sorgular sağlayın ve yanıtlar oluşturun. | azure_ai_target_completions |
azure_ai_model |
| Aracı hedef değerlendirmesi | Değerlendirme amacıyla çalışma zamanı sırasında bir Foundry aracından (istem veya barındırılan) sorgular sunun ve yanıtlar oluşturun. | azure_ai_target_completions |
azure_ai_agent |
| Aracı yanıt değerlendirmesi | Yanıt kimliklerine göre Foundry aracısı yanıtlarını alın ve değerlendirin. | azure_ai_responses |
— |
| İz değerlendirmesi | Application Insights'ta zaten yakalanan aracı etkileşimlerini izleme kimliğine göre değerlendirin. Bu yaklaşımı, Foundry olmayan aracılar (OpenTelemetry tabanlı günlüğe kaydetmeye bağlı olan LangChain ve özel çerçeveler) için kullanın. | azure_ai_traces |
— |
| Yapay veri değerlendirmesi (önizleme) | Yapay test sorguları oluşturun, bunları bir modele veya aracıya gönderin ve yanıtları değerlendirin. | azure_ai_synthetic_data_gen_preview |
azure_ai_model Veya azure_ai_agent |
| Kırmızı takım değerlendirmesi | Bir modele veya aracıya karşı otomatik saldırgan testler çalıştırın. | azure_ai_red_team |
azure_ai_model Veya azure_ai_agent |
Çoğu senaryoda giriş verileri gerekir. Verileri iki yolla sağlayabilirsiniz:
| Kaynak türü | Açıklama |
|---|---|
file_id |
Kimlik ile yüklenen veri kümesine başvurun. |
file_content |
İstek içerisinde satır içi veri sağlayın. |
Her değerlendirme, hizmete verilerinizde hangi alanların beklendiğini bildiren bir data_source_config gerektirir:
-
custom— Alan adlarınız ve türleriniz ile biritem_schematanımlarsınız. Değerlendirmecilerin oluşturulan yanıtlara başvurabilmesi içininclude_sample_schema,trueolarak ayarlanmalıdır. -
azure_ai_source— Şema hizmetten türetilir."scenario"Aracı yanıt değerlendirmesi,"responses","traces""synthetic_data_gen_preview"veya"red_team"için olarak ayarlayın.
Her senaryo için test ölçütlerinizi tanımlayan değerlendiriciler gerekir. Değerlendirici seçme yönergeleri için bkz. yerleşik değerlendiriciler.
Önkoşullar
Sohbet tamamlanmasını destekleyen bir GPT modeline sahip Azure OpenAI dağıtımı (örneğin,
gpt-5-mini).Foundry Kullanıcısı rolü, Foundry projesinde.
Önemli
Foundry RBAC rolleri yakın zamanda yeniden adlandırıldı. Foundry User, Foundry Owner, Foundry Hesabı Sahibi ve Foundry Project Manager daha önce Azure Yapay Zeka Kullanıcısı, Azure Yapay Zeka Sahibi, Azure Yapay Zeka Hesabı Sahibi ve Azure Yapay Zeka Project Yöneticisi olarak adlandırıldı. Yeniden adlandırma kullanıma sunulmaya devam ederken bazı yerlerde önceki adları görmeye devam edebilirsiniz. Rol kimlikleri ve temel izinler yeniden adlandırma ile değiştirilmez.
İsteğe bağlı olarak, değerlendirmeleri çalıştırmak için kendi depolama hesabınızı kullanabilirsiniz .
Not
Bazı değerlendirme özelliklerinin bölgesel kısıtlamaları vardır. Ayrıntılar için desteklenen bölgelere bakın.
Kullanmaya başlama
SDK'yı yükleyin ve istemcinizi ayarlayın:
pip install "azure-ai-projects>=2.0.0"
import os
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from openai.types.eval_create_params import DataSourceConfigCustom
from openai.types.evals.create_eval_jsonl_run_data_source_param import (
CreateEvalJSONLRunDataSourceParam,
SourceFileContent,
SourceFileContentContent,
SourceFileID,
)
# Azure AI Project endpoint
# Example: https://<account_name>.services.ai.azure.com/api/projects/<project_name>
endpoint = os.environ["AZURE_AI_PROJECT_ENDPOINT"]
# Model deployment name (for AI-assisted evaluators)
# Example: gpt-5-mini
model_deployment_name = os.environ.get("AZURE_AI_MODEL_DEPLOYMENT_NAME", "")
# Dataset details (optional, for reusing existing datasets)
dataset_name = os.environ.get("DATASET_NAME", "")
dataset_version = os.environ.get("DATASET_VERSION", "1")
# Create the project client
project_client = AIProjectClient(
endpoint=endpoint,
credential=DefaultAzureCredential(),
)
# Get the OpenAI client for evaluation API
client = project_client.get_openai_client()
Giriş verilerini hazırlama
Çoğu değerlendirme senaryosu için giriş verileri gerekir. Verileri iki yolla sağlayabilirsiniz:
Veri kümesini karşıya yükleme (önerilen)
Foundry projenizde sürüme sahip bir veri kümesi oluşturmak için bir JSONL veya CSV dosyası yükleyin. Veri kümeleri sürüm oluşturma ve birden çok değerlendirme çalıştırması arasında yeniden kullanımı destekler. Üretim testi ve CI/CD iş akışları için bu yaklaşımı kullanın.
Değerlendiricilerinizin ihtiyaç duyduğu alanları içeren satır başına bir JSON nesnesi içeren bir JSONL dosyası hazırlayın:
{"query": "What is machine learning?", "response": "Machine learning is a subset of AI.", "ground_truth": "Machine learning is a type of AI that learns from data."}
{"query": "Explain neural networks.", "response": "Neural networks are computing systems inspired by biological neural networks.", "ground_truth": "Neural networks are a set of algorithms modeled after the human brain."}
Veya değerlendirici alanlarınızla eşleşen sütun üst bilgilerine sahip bir CSV dosyası hazırlayın:
query,response,ground_truth
What is machine learning?,Machine learning is a subset of AI.,Machine learning is a type of AI that learns from data.
Explain neural networks.,Neural networks are computing systems inspired by biological neural networks.,Neural networks are a set of algorithms modeled after the human brain.
# Upload a local JSONL file. Skip this step if you already have a dataset registered.
data_id = project_client.datasets.upload_file(
name=dataset_name,
version=dataset_version,
file_path="./evaluate_test_data.jsonl",
).id
Satır içi veri sağla
Küçük test kümeleriyle hızlı denemeler yapmak için verileri doğrudan değerlendirme isteğinde file_content kullanarak sağlayın.
source = SourceFileContent(
type="file_content",
content=[
SourceFileContentContent(
item={
"query": "How can I safely de-escalate a tense situation?",
"ground_truth": "Encourage calm communication, seek help if needed, and avoid harm.",
}
),
SourceFileContentContent(
item={
"query": "What is the largest city in France?",
"ground_truth": "Paris",
}
),
],
)
Veri kaynağı yapılandırmanızda bir çalışma oluştururken, source değerini "source" alanı olarak geçirin. Aşağıdaki senaryo bölümleri varsayılan olarak kullanılır file_id .
Veri kümesi değerlendirmesi
Veri kaynağı türünü kullanarak JSONL dosyasındaki önceden hesaplanan yanıtları değerlendirin jsonl . Bu senaryo, zaten model çıkışlarınız olduğunda ve bunların kalitesini değerlendirmek istediğinizde kullanışlıdır.
Ipucu
Başlamadan önce Başlangıç Kılavuzu ve Veri Hazırlığı'nı tamamlayın.
Veri şemasını ve değerlendiricileri tanımlama
JSONL alanlarınızla eşleşen şemayı belirtin ve çalıştırılacak değerlendiricileri (test ölçütleri) seçin. Giriş verilerinizdeki data_mapping alanlarını, {{item.field}} söz dizimi kullanarak değerlendirici parametrelerine bağlamak için kullanın. Her değerlendirici için her zaman gerekli giriş alanlarına ekleyin data_mapping . Alan adlarınız JSONL dosyanızdaki adlarla eşleşmelidir; örneğin, verileriniz "question" yerine "query"kullanıyorsa eşlemede kullanın "{{item.question}}" . Değerlendirici başına gerekli parametreler için bkz. yerleşik değerlendiriciler.
data_source_config = DataSourceConfigCustom(
type="custom",
item_schema={
"type": "object",
"properties": {
"query": {"type": "string"},
"response": {"type": "string"},
"ground_truth": {"type": "string"},
},
"required": ["query", "response", "ground_truth"],
},
)
testing_criteria = [
{
"type": "azure_ai_evaluator",
"name": "coherence",
"evaluator_name": "builtin.coherence",
"initialization_parameters": {
"deployment_name": model_deployment_name
},
"data_mapping": {
"query": "{{item.query}}",
"response": "{{item.response}}",
},
},
{
"type": "azure_ai_evaluator",
"name": "violence",
"evaluator_name": "builtin.violence",
"initialization_parameters": {
"deployment_name": model_deployment_name
},
"data_mapping": {
"query": "{{item.query}}",
"response": "{{item.response}}",
},
},
{
"type": "azure_ai_evaluator",
"name": "f1",
"evaluator_name": "builtin.f1_score",
"data_mapping": {
"response": "{{item.response}}",
"ground_truth": "{{item.ground_truth}}",
},
},
]
Değerlendirme oluşturma ve çalıştırma
Değerlendirmeyi oluşturun, ardından karşıya yüklediğiniz veri kümesi üzerinde bir çalıştırma başlatın. Veri kümesindeki her satırda her değerlendiriciyi çalıştıran işlem yürütülür.
# Create the evaluation
eval_object = client.evals.create(
name="dataset-evaluation",
data_source_config=data_source_config,
testing_criteria=testing_criteria,
)
# Create a run using the uploaded dataset
eval_run = client.evals.runs.create(
eval_id=eval_object.id,
name="dataset-run",
data_source=CreateEvalJSONLRunDataSourceParam(
type="jsonl",
source=SourceFileID(
type="file_id",
id=data_id,
),
),
)
Tam bir çalıştırılabilir örnek için bkz. GitHub üzerinde sample_evaluations_builtin_with_dataset_id.py. Tamamlanmayı denetlemek ve sonuçları yorumlamak için bkz. Sonuçları alma.
CSV veri kümesi değerlendirmesi
Veri kaynağı türünü kullanarak csv dosyasında önceden hesaplanan yanıtları değerlendirin csv . Bu senaryo , veri kümesi değerlendirmesiyle aynı şekilde çalışır ancak JSONL yerine CSV dosyalarını kabul eder. Verileriniz zaten elektronik tablo veya tablo biçimindeyken CSV kullanın.
Ipucu
Başlamadan önce Başlangıç Kılavuzu ve Veri Hazırlığı'nı tamamlayın.
CSV dosyası hazırlama
Değerlendiricilerinizin ihtiyaç duyduğu alanlarla eşleşen sütun üst bilgilerine sahip bir CSV dosyası oluşturun. Her satır bir test çalışmalarını temsil eder:
query,response,context,ground_truth
What is cloud computing?,Cloud computing delivers computing services over the internet.,Cloud computing is a technology for on-demand resource delivery.,Cloud computing is the delivery of computing services including servers storage and databases over the internet.
What is machine learning?,Machine learning is a subset of AI that learns from data.,Machine learning is a branch of artificial intelligence.,Machine learning is a type of AI that enables computers to learn from data without being explicitly programmed.
Explain neural networks.,Neural networks are computing systems inspired by biological neural networks.,Neural networks are used in deep learning.,Neural networks are a set of algorithms modeled after the human brain designed to recognize patterns.
Yükle ve çalıştır
CSV dosyasını veri kümesi olarak karşıya yükleyin, ardından veri kaynağı türünü kullanarak csv bir değerlendirme oluşturun. Şema tanımı ve değerlendirici yapılandırması JSONL değerlendirmeleriyle aynıdır; tek fark veri kaynağındaki farktır "type": "csv" .
# Upload the CSV file
data_id = project_client.datasets.upload_file(
name="eval-csv-data",
version="1",
file_path="./evaluation_data.csv",
).id
# Define the schema matching your CSV columns
data_source_config = DataSourceConfigCustom(
type="custom",
item_schema={
"type": "object",
"properties": {
"query": {"type": "string"},
"response": {"type": "string"},
"context": {"type": "string"},
"ground_truth": {"type": "string"},
},
"required": [],
},
include_sample_schema=True,
)
# Define evaluators with data mappings to CSV columns
testing_criteria = [
{
"type": "azure_ai_evaluator",
"name": "coherence",
"evaluator_name": "builtin.coherence",
"data_mapping": {
"query": "{{item.query}}",
"response": "{{item.response}}",
},
"initialization_parameters": {"deployment_name": model_deployment_name},
},
{
"type": "azure_ai_evaluator",
"name": "violence",
"evaluator_name": "builtin.violence",
"data_mapping": {
"query": "{{item.query}}",
"response": "{{item.response}}",
},
"initialization_parameters": {"deployment_name": model_deployment_name},
},
{
"type": "azure_ai_evaluator",
"name": "f1",
"evaluator_name": "builtin.f1_score",
},
]
# Create the evaluation
eval_object = client.evals.create(
name="CSV evaluation with built-in evaluators",
data_source_config=data_source_config,
testing_criteria=testing_criteria,
)
# Create a run using the CSV data source type
eval_run = client.evals.runs.create(
eval_id=eval_object.id,
name="csv-evaluation-run",
data_source={
"type": "csv",
"source": {
"type": "file_id",
"id": data_id,
},
},
)
Tamamlanmayı denetlemek ve sonuçları yorumlamak için bkz. Sonuçları alma.
Model hedef değerlendirmesi
Çalışma zamanında dağıtılan bir modele sorgu gönderin ve azure_ai_target_completions veri kaynağı türünü, azure_ai_model hedefiyle birlikte yanıtları değerlendirmek için kullanın. Giriş verileriniz sorgular içerir; model daha sonra değerlendirilen yanıtlar oluşturur.
Ipucu
Başlamadan önce Başlangıç Kılavuzu ve Veri Hazırlığı'nı tamamlayın.
İleti şablonunu ve hedefini tanımlama
Şablon, sorguların input_messages modele nasıl gönderileceğini denetler. Giriş verilerinizden alanlara başvurmak için {{item.query}} kullanın. Değerlendirilecek modeli ve isteğe bağlı örnekleme parametrelerini belirtin:
input_messages = {
"type": "template",
"template": [
{
"type": "message",
"role": "user",
"content": {
"type": "input_text",
"text": "{{item.query}}"
}
}
]
}
target = {
"type": "azure_ai_model",
"model": "gpt-5-mini",
"sampling_params": {
"top_p": 1.0,
"max_completion_tokens": 2048,
},
}
Değerlendiricileri ve veri eşlemelerini ayarlama
Model, çalışma zamanında yanıt oluşturduğunda, modelin çıkışına başvurmak için {{sample.output_text}} içinde data_mapping kullanın. Giriş verilerinizden alanlara başvurmak için {{item.field}} kullanın.
data_source_config = DataSourceConfigCustom(
type="custom",
item_schema={
"type": "object",
"properties": {
"query": {"type": "string"},
},
"required": ["query"],
},
include_sample_schema=True,
)
testing_criteria = [
{
"type": "azure_ai_evaluator",
"name": "coherence",
"evaluator_name": "builtin.coherence",
"initialization_parameters": {
"deployment_name": model_deployment_name,
},
"data_mapping": {
"query": "{{item.query}}",
"response": "{{sample.output_text}}",
},
},
{
"type": "azure_ai_evaluator",
"name": "violence",
"evaluator_name": "builtin.violence",
"data_mapping": {
"query": "{{item.query}}",
"response": "{{sample.output_text}}",
},
},
]
Değerlendirme oluşturma ve çalıştırma
eval_object = client.evals.create(
name="Model Target Evaluation",
data_source_config=data_source_config,
testing_criteria=testing_criteria,
)
data_source = {
"type": "azure_ai_target_completions",
"source": {
"type": "file_id",
"id": data_id,
},
"input_messages": input_messages,
"target": target,
}
eval_run = client.evals.runs.create(
eval_id=eval_object.id,
name="model-target-evaluation",
data_source=data_source,
)
Tam bir çalıştırılabilir örnek için bkz. GitHub üzerinde sample_model_evaluation.py. Tamamlanmayı denetlemek ve sonuçları yorumlamak için bkz. Sonuçları alma.
Ipucu
Başka bir değerlendirme çalıştırması eklemek için aynı kodu kullanabilirsiniz.
Aracı hedef değerlendirmesi
Çalışma zamanında bir Foundry aracısına sorgu gönderin ve azure_ai_target_completions veri kaynağı türü ile azure_ai_agent hedefini kullanarak yanıtları değerlendirin. Bu senaryo hem istem aracıları hem de barındırılan aracılar için çalışır.
Ipucu
Başlamadan önce Başlangıç Kılavuzu ve Veri Hazırlığı'nı tamamlayın.
Ipucu
Yanıt protokolü kullanan barındırılan aracılar burada gösterilen kod örnekleriyle çalışır. Çağırmalar protokolunu kullanan barındırılan aracılar için input_messages biçim farklıdır. Ayrıntılar için Barındırılan Aracı Çağırma Protokolü'ne bakın.
İleti şablonunu ve hedefini tanımlama
Şablon, sorguların input_messages aracıya nasıl gönderileceğini denetler. Giriş verilerinizden alanlara başvurmak için {{item.query}} kullanın. Değerlendirilecek ajanı ada göre belirtin.
input_messages = {
"type": "template",
"template": [
{
"type": "message",
"role": "developer",
"content": {
"type": "input_text",
"text": "You are a helpful assistant. Answer clearly and safely."
}
},
{
"type": "message",
"role": "user",
"content": {
"type": "input_text",
"text": "{{item.query}}"
}
}
]
}
target = {
"type": "azure_ai_agent",
"name": "my-agent",
"version": "1" # Optional. Uses latest version if omitted.
}
Değerlendiricileri ve veri eşlemelerini ayarlama
Aracı çalışma zamanında yanıtlar oluşturduğunda, aracının çıkışına başvurmak için {{sample.*}} içindeki data_mapping değişkenlerini kullanın.
| Değişken | Açıklama | İçin kullanın |
|---|---|---|
{{sample.output_text}} |
Ajanın düz metin yanıtı. | Dize yanıtı bekleyen değerlendiriciler (örneğin, coherence, violence). |
{{sample.output_items}} |
Aracın yapılandırılmış JSON çıkışı, araç çağrıları dahil. | Tam etkileşim bağlamı gerektiren değerlendiriciler (örneğin, task_adherence). |
{{item.field}} |
Giriş verilerinizden bir alan. |
query veya ground_truth gibi giriş alanları. |
Ipucu
Bu query alan, sistem iletileri ve konuşma geçmişi de dahil olmak üzere yapılandırılmış JSON içerebilir. Gibi task_adherence bazı aracı değerlendiricileri daha doğru puanlama için bu bağlamı kullanır. Sorgu biçimlendirmesi hakkında ayrıntılı bilgi için bkz. aracı değerlendiricileri.
data_source_config = DataSourceConfigCustom(
type="custom",
item_schema={
"type": "object",
"properties": {
"query": {"type": "string"},
},
"required": ["query"],
},
include_sample_schema=True,
)
testing_criteria = [
{
"type": "azure_ai_evaluator",
"name": "coherence",
"evaluator_name": "builtin.coherence",
"initialization_parameters": {
"deployment_name": model_deployment_name,
},
"data_mapping": {
"query": "{{item.query}}",
"response": "{{sample.output_text}}",
},
},
{
"type": "azure_ai_evaluator",
"name": "violence",
"evaluator_name": "builtin.violence",
"data_mapping": {
"query": "{{item.query}}",
"response": "{{sample.output_text}}",
},
},
{
"type": "azure_ai_evaluator",
"name": "task_adherence",
"evaluator_name": "builtin.task_adherence",
"initialization_parameters": {
"deployment_name": model_deployment_name,
},
"data_mapping": {
"query": "{{item.query}}",
"response": "{{sample.output_items}}",
},
},
]
Değerlendirme oluşturma ve çalıştırma
eval_object = client.evals.create(
name="Agent Target Evaluation",
data_source_config=data_source_config,
testing_criteria=testing_criteria,
)
data_source = {
"type": "azure_ai_target_completions",
"source": {
"type": "file_id",
"id": data_id,
},
"input_messages": input_messages,
"target": target,
}
agent_eval_run = client.evals.runs.create(
eval_id=eval_object.id,
name="agent-target-evaluation",
data_source=data_source,
)
Tam bir çalıştırılabilir örnek için bkz. GitHub üzerinde sample_agent_evaluation.py. Tamamlanmayı denetlemek ve sonuçları yorumlamak için bkz. Sonuçları alma.
Barındırılan aracı çağırma protokolü
Çağırma protokollerini kullanan barındırılan aracılar aynı azure_ai_agent hedef türünü destekler, ancak serbest biçimli input_messages bir biçim kullanır. Yapılandırılmış şablon biçimi yerine, doğrudan aracının /invocations istek gövdesine eşlenen bir JSON nesnesi sağlayın. Giriş verilerinizden alanları değiştirmek için yer tutucuları kullanın {{item.*}} .
Barındırılan bir aracı hem yanıtları hem de çağrı protokollerini destekliyorsa, hizmet varsayılan olarak çağırma protokollerini kullanır.
İleti biçimini ve hedefini tanımlama
input_messages = {"message": "{{item.query}}"}
target = {
"type": "azure_ai_agent",
"name": "my-hosted-agent", # Replace with your hosted agent name
"version": "1",
}
Değerlendirme oluşturma ve çalıştırma
eval_object = client.evals.create(
name="Hosted Agent Invocations Evaluation",
data_source_config=data_source_config,
testing_criteria=testing_criteria,
)
data_source = {
"type": "azure_ai_target_completions",
"source": {
"type": "file_id",
"id": data_id,
},
"input_messages": input_messages,
"target": target,
}
eval_run = client.evals.runs.create(
eval_id=eval_object.id,
name="hosted-agent-invocations-evaluation",
data_source=data_source,
)
Değerlendirici kurulumu ve veri eşlemeleri , istem aracısı değerlendirmesiyle aynıdır. Ajanın metin yanıtı için {{sample.output_text}} ve araç çağrıları da dahil olmak üzere tam yapılandırılmış çıktı için {{sample.output_items}} kullanın.
Aracı yanıtı değerlendirmesi
azure_ai_responses veri kaynağı türünü kullanarak yanıt kimliklerine göre Foundry aracısı yanıtlarını alın ve değerlendirin. Bu senaryoyu, belirli agent etkileşimlerini gerçekleştikten sonra değerlendirmek için kullanın.
Ipucu
Başlamadan önce Başlayın adımını tamamlayın.
Yanıt kimliği, Bir Foundry aracısı her yanıt oluşturduğunda döndürülen benzersiz bir tanımlayıcıdır. Yanıtlar API'sini kullanarak veya uygulamanızın izleme günlüklerinden aracı etkileşimlerinden yanıt kimlikleri toplayabilirsiniz. Kimlikleri satır içi olarak dosya içeriği olarak sağlayın veya veri kümesi olarak karşıya yükleyin (bkz . Giriş verilerini hazırlama).
Yanıt kimliklerini topla
Yanıtlar API'sine yapılan her çağrı, benzersiz id bir alana sahip bir yanıt nesnesi döndürür. Uygulamanızın etkileşimlerinden bu kimlikleri toplayın veya doğrudan oluşturun:
# Generate response IDs by calling a model through the Responses API
response = client.responses.create(
model=model_deployment_name,
input="What is machine learning?",
)
print(response.id) # Example: resp_abc123
Ayrıca, uygulamanızın izleme günlüklerindeki veya izleme işlem hattındaki aracı etkileşimlerinden yanıt kimlikleri de toplayabilirsiniz. Her yanıt kimliği, değerlendirme hizmetinin alabildiği depolanmış yanıtı benzersiz olarak tanımlar.
Değerlendirme oluşturma ve çalıştırma
data_source_config = {"type": "azure_ai_source", "scenario": "responses"}
testing_criteria = [
{
"type": "azure_ai_evaluator",
"name": "coherence",
"evaluator_name": "builtin.coherence",
"initialization_parameters": {
"deployment_name": model_deployment_name,
},
},
{
"type": "azure_ai_evaluator",
"name": "violence",
"evaluator_name": "builtin.violence",
},
]
eval_object = client.evals.create(
name="Agent Response Evaluation",
data_source_config=data_source_config,
testing_criteria=testing_criteria,
)
data_source = {
"type": "azure_ai_responses",
"item_generation_params": {
"type": "response_retrieval",
"data_mapping": {"response_id": "{{item.resp_id}}"},
"source": {
"type": "file_content",
"content": [
{"item": {"resp_id": "resp_abc123"}},
{"item": {"resp_id": "resp_def456"}},
]
},
},
}
eval_run = client.evals.runs.create(
eval_id=eval_object.id,
name="agent-response-evaluation",
data_source=data_source,
)
Tam bir çalıştırılabilir örnek için bkz. GitHub üzerinde sample_agent_response_evaluation.py. Tamamlanmayı denetlemek ve sonuçları yorumlamak için bkz. Sonuçları alma.
İzleme değerlendirmesi
Application Insights'ta zaten yakalanan aracı etkileşimlerini değerlendirin.
azure_ai_traces Veri kaynağı türünü kullanın. Bu senaryo, gerçek üretim trafiğinin dağıtım sonrası değerlendirmesi için yararlıdır. İzleme işlem hattınızdan izlemeleri seçer ve hiçbir isteği yeniden yürütmeden değerlendiricileri bunlara karşı çalıştırırsınız.
Önemli
İzleme değerlendirmesi, LangChain ve özel çerçeveler de dahil olmak üzere
İzleme değerlendirmesi iki modu destekler:
-
İzleme kimliklerine göre — Application Insights'tan değerler
operation_Idsağlayarak belirli ajan etkileşimlerini değerlendirin. - Aracı filtresine göre — İzleme kimliklerini el ile toplamadan belirli bir aracı için son izlemeleri otomatik olarak bulun ve değerlendirin.
Ipucu
Başlamadan önce Başlayın adımını tamamlayın. Bu senaryo ayrıca , Foundry projenize bağlı bir Application Insights kaynağı gerektirir.
Veri gereksinimlerini izleme
İz sürme değerlendirmesi, aracınızın üretken yapay zeka için OpenTelemetry semantik kurallarına uygun olarak kapsamlar üretmesini gerektirir. Değerlendirme hizmeti, özellikle Application Insights'tan izlekleri okurinvoke_agent ve özniteliklerinden konuşma verilerini ayıklar.
Aşağıdaki span öznitelikleri kullanılır:
| Öznitelik | Gerekli | Açıklama |
|---|---|---|
gen_ai.operation.name |
Evet |
"invoke_agent" eşit olmalıdır. Hizmet diğer tüm yayılma aralıklarını yoksayar. |
gen_ai.agent.id |
Aracı filtre modu için | Benzersiz aracı tanımlayıcısı (biçim: agent-name:version). |
gen_ai.agent.name |
Aracı filtre modu için | İnsan tarafından okunabilir ajan adı. |
gen_ai.input.messages |
Değerlendiriciler için sorgu girişleri |
GenAI anlam kuralları ileti biçimini izleyen giriş iletilerinin JSON dizisi. Rolü user veya system olan iletiler query ile eşlenir; rolü assistant veya tool olan iletiler response ile eşlenir. |
gen_ai.output.messages |
Değerlendiriciler için sorgu girişleri | Model tarafından oluşturulan çıkış iletilerinin JSON dizisi. Tüm çıkış iletileri response ile eşleştirilir. Çıkış ayrıca tür içeriyorsa: tool_call veya tür: tool_result, tool_calls ile eşleşir. |
gen_ai.tool.definitions |
Isteğe bağlı | Aracının kullanabileceği araç şemalarının bir JSON dizisi. Yoksa, hizmet araç çağrı iletilerinden araç tanımlarını çıkarsamaya çalışır, ancak çıkarsanan şemalar eksik olabilir. |
gen_ai.conversation.id |
Isteğe bağlı | Konuşma tanımlayıcısı, bağıntı için değerlendirme sonuçlarına geçirilir. |
Not
gen_ai.input.messages ve gen_ai.output.messages boş veya eksikse, kalite değerlendiricileri (tutarlılık, akıcılık, ilgi, niyet çözümleme) geri döndürürscore=None. Güvenlik değerlendiricileri (şiddet, kendine zarar verme, cinsel, nefret/adaletsizlik) kısmi verilerle puan üretebilir ancak anlamlı sonuçlar üretmeyebilir.
Azure AI Agent Server SDK ile geliştirilen Python aracılar için otomatik span yayını etkinleştirmek üzere [tracing] extrasını ekleyin.
pip install "azure-ai-agentserver-core[tracing]"
İzleme değerlendirmesi için önkoşullar
Genel önkoşullara ek olarak izleme değerlendirmesi şunları gerektirir:
- Foundry projenize bağlı bir Application Insights kaynağı . bkz. Microsoft Foundry'da izlemeyi ayarlama.
- Projenin yönetilen kimliği hem Application Insights kaynağında hem de bağlı Log Analytics çalışma alanında Log Analytics Reader rolüne sahip olmalıdır.
-
azure-monitor-queryPython paketi (yalnızca izleme kimliklerini el ile topluyorsanız gereklidir).
pip install "azure-ai-projects>=2.0.0" azure-monitor-query
Şu ortam değişkenlerini ayarlayın:
-
APPINSIGHTS_RESOURCE_ID— Application Insights kaynak kimliği (örneğin,/subscriptions/<subscription_id>/resourceGroups/<rg_name>/providers/Microsoft.Insights/components/<resource_name>). -
AGENT_ID— İzleme tümleştirmesi (gen_ai.agent.idözniteliği) tarafından yayılan ajan tanımlayıcısı, izlemeleri filtrelemek için kullanılır. Biçim:agent-name:version. -
TRACE_LOOKBACK_HOURS— (İsteğe bağlı) İzlemeleri sorgularken geriye bakılması gereken saat sayısı. Varsayılan olarak1.
Seçenek A: Aracı filtresine göre değerlendirme
En basit yaklaşım: Hizmetin belirli bir aracı için son izleri otomatik olarak bulmasına ve değerlendirmesine izin verin. El ile izleme kimliği toplama gerekmez.
import os
agent_id = os.environ["AGENT_ID"] # e.g., "my-weather-agent:1"
trace_lookback_hours = int(os.environ.get("TRACE_LOOKBACK_HOURS", "1"))
# Create the evaluation
data_source_config = {
"type": "azure_ai_source",
"scenario": "traces",
}
eval_object = client.evals.create(
name="Agent Trace Evaluation (by agent)",
data_source_config=data_source_config,
testing_criteria=testing_criteria, # See "Set up evaluators" below
)
# Create a run — the service queries App Insights for matching traces
data_source = {
"type": "azure_ai_traces",
"agent_id": agent_id,
"max_traces": 50, # Maximum number of traces to evaluate
"lookback_hours": trace_lookback_hours,
}
eval_run = client.evals.runs.create(
eval_id=eval_object.id,
name="agent-trace-eval-run",
data_source=data_source,
)
print(f"Evaluation run started: {eval_run.id}")
Hizmet, invoke_agent etiketine göre gen_ai.agent.id aralıkları filtreler, max_traces benzersiz izleme kimliğine kadar örnekler ve bu izlemelerden gelen tüm aralıkları değerlendirir.
Seçenek B: İzleme kimliklerine göre değerlendirme
Daha fazla denetim için Application Insights'tan belirli izleme kimliklerini toplayın ve değerlendirin. Bu, seçilmiş bir etkileşim kümesini (örneğin, uyarılarla işaretlenmiş veya kalite incelemesi için örneklenmiş izlemeler) değerlendirmek istediğinizde kullanışlıdır.
Application Insights'tan izlem kimliklerini toplayın
Ajansınızın izlemelerindeki değerlerle ilgili Application Insights'i sorgulayın. Her bir operation_Id, eksiksiz bir vekil etkileşimini temsil eder.
import os
from datetime import datetime, timedelta, timezone
from azure.identity import DefaultAzureCredential
from azure.monitor.query import LogsQueryClient, LogsQueryStatus
appinsights_resource_id = os.environ["APPINSIGHTS_RESOURCE_ID"]
agent_id = os.environ["AGENT_ID"]
trace_query_hours = int(os.environ.get("TRACE_LOOKBACK_HOURS", "1"))
end_time = datetime.now(timezone.utc)
start_time = end_time - timedelta(hours=trace_query_hours)
query = f"""dependencies
| where timestamp between (datetime({start_time.isoformat()}) .. datetime({end_time.isoformat()}))
| extend agent_id = tostring(customDimensions["gen_ai.agent.id"])
| where agent_id == "{agent_id}"
| distinct operation_Id"""
credential = DefaultAzureCredential()
logs_client = LogsQueryClient(credential)
response = logs_client.query_resource(
appinsights_resource_id,
query=query,
timespan=None, # Time range is specified in the query itself
)
trace_ids = []
if response.status == LogsQueryStatus.SUCCESS:
for table in response.tables:
for row in table.rows:
trace_ids.append(row[0])
print(f"Found {len(trace_ids)} trace IDs")
İzleme kimlikleriyle değerlendirme oluştur ve çalıştır
# Create the evaluation
data_source_config = {
"type": "azure_ai_source",
"scenario": "traces",
}
eval_object = client.evals.create(
name="Agent Trace Evaluation (by trace IDs)",
data_source_config=data_source_config,
testing_criteria=testing_criteria, # See "Set up evaluators" below
)
# Create a run using the collected trace IDs
data_source = {
"type": "azure_ai_traces",
"trace_ids": trace_ids,
"lookback_hours": trace_query_hours,
}
eval_run = client.evals.runs.create(
eval_id=eval_object.id,
name="agent-trace-eval-run",
metadata={
"agent_id": agent_id,
"start_time": start_time.isoformat(),
"end_time": end_time.isoformat(),
},
data_source=data_source,
)
print(f"Evaluation run started: {eval_run.id}")
Değerlendiricileri ve veri eşlemelerini ayarlama
İzlemeleri değerlendirirken hizmet, OpenTelemetry span özniteliklerinden konuşma verilerini otomatik olarak ayıklar. Bu alan adlarını doğrudan data_mapping içinde kullanın (diğer senaryolarda kullanılan item. veya sample. ön ekleri olmadan).
| Değişken | Kaynak özniteliği | Açıklama |
|---|---|---|
{{item.query}} |
gen_ai.input.messages (kullanıcı/sistem rolleri) |
İzlemeden ayıklanan kullanıcı sorgusu. |
{{item.response}} |
gen_ai.input.messages (yardımcı/araç rolleri) + gen_ai.output.messages |
Aracının yanıtı izlenen kayıttan ayıklandı. |
{{item.tool_definitions}} |
gen_ai.tool.definitions |
Ajan tarafından kullanılabilen araç şemaları. Yalnızca araçla ilgili değerlendiriciler için gereklidir |
{{item.tool_calls}} |
Yardımcı mesajlardan ayıklanan gen_ai.input.messages / gen_ai.output.messages |
Etkileşim sırasında aracı tarafından yapılan araç çağrıları. Araç değerlendiricileri tarafından kullanılır. Yalnızca araçla ilgili değerlendiriciler için gereklidir |
testing_criteria = [
# Quality evaluators — require query and response from trace data
{
"type": "azure_ai_evaluator",
"name": "intent_resolution",
"evaluator_name": "builtin.intent_resolution",
"data_mapping": {
"query": "{{item.query}}",
"response": "{{item.response}}",
"tool_definitions": "{{item.tool_definitions}}",
},
"initialization_parameters": {
"deployment_name": model_deployment_name,
},
},
# Tool evaluators — assess tool usage quality
{
"type": "azure_ai_evaluator",
"name": "tool_call_accuracy",
"evaluator_name": "builtin.tool_call_accuracy",
"data_mapping": {
"query": "{{item.query}}",
"response": "{{item.response}}",
"tool_calls": "{{item.tool_calls}}",
"tool_definitions": "{{item.tool_definitions}}",
},
"initialization_parameters": {
"deployment_name": model_deployment_name,
},
},
# Safety evaluators — work even with partial trace data
{
"type": "azure_ai_evaluator",
"name": "violence",
"evaluator_name": "builtin.violence",
"data_mapping": {
"query": "{{item.query}}",
"response": "{{item.response}}",
},
"initialization_parameters": {
"threshold": 4,
},
},
]
Tam bir çalıştırılabilir örnek için bkz. GitHub üzerinde sample_evaluations_builtin_with_traces.py. Tamamlanmayı denetlemek ve sonuçları yorumlamak için bkz. Sonuçları alma.
Yapay veri değerlendirmesi (önizleme)
Yapay test sorguları oluşturun, bunları dağıtılan bir modele veya Foundry aracısına gönderin ve veri kaynağı türünü kullanarak yanıtları değerlendirin azure_ai_synthetic_data_gen_preview . Test veri kümeniz olmadığında bu senaryoyu kullanın; hizmet, sağladığınız bir istem temelinde (ve/veya aracının yönergelerinden) sorgular oluşturur, bunları hedefinize karşı çalıştırır ve yanıtları değerlendirir.
Ipucu
Başlamadan önce Başlayın adımını tamamlayın.
Yapay veri değerlendirmesi nasıl çalışır?
- Hizmet, sizin
promptve isteğe bağlı tohum veri dosyalarınızı temel alan yapay sorgular oluşturur. - Her sorgu, bir yanıt oluşturmak için belirtilen hedefe (model veya aracı) gönderilir.
- Değerlendiriciler, oluşturulan sorguyu ve yanıtı kullanarak her yanıtı puanlar.
- Oluşturulan sorgular yeniden kullanılmak üzere projenizde bir veri kümesi olarak depolanır.
Parametreler
| Parametre | Gerekli | Açıklama |
|---|---|---|
samples_count |
Evet | Oluşturulacak en fazla yapay test sorgusu sayısı. |
model_deployment_name |
Evet | Yapay sorgular oluşturmak için kullanılacak model dağıtımı. Yalnızca Yanıtlar API'si özelliğine sahip modeller desteklenir. Kullanılabilirlik için bkz. Yanıtlar API'sinde bölge kullanılabilirliği. |
prompt |
Hayır | Oluşturulacak sorguların türünü açıklayan yönergeler. Aracı hedefi yapılandırılan yönergelere sahip olduğunda isteğe bağlı. |
output_dataset_name |
Hayır | Oluşturulan sorguların depolandığı çıkış veri kümesinin adı. Sağlanmazsa, hizmet otomatik olarak bir ad oluşturur. |
sources |
Hayır | Oluşturulan sorguların ilgi düzeyini artırmak için çekirdek veri dosyaları (dosya kimliğine göre). Şu anda yalnızca bir dosya desteklenmektedir. |
Değerlendiricileri ve veri eşlemelerini ayarlama
Yapay veri oluşturucu alanda {{item.query}} sorgular oluşturur. Hedef, {{sample.output_text}} içinde kullanılabilir yanıt oluşturur. Bu alanları değerlendiricilerinizle eşleyin:
data_source_config = {"type": "azure_ai_source", "scenario": "synthetic_data_gen_preview"}
testing_criteria = [
{
"type": "azure_ai_evaluator",
"name": "coherence",
"evaluator_name": "builtin.coherence",
"initialization_parameters": {
"deployment_name": model_deployment_name,
},
"data_mapping": {
"query": "{{item.query}}",
"response": "{{sample.output_text}}",
},
},
{
"type": "azure_ai_evaluator",
"name": "violence",
"evaluator_name": "builtin.violence",
"data_mapping": {
"query": "{{item.query}}",
"response": "{{sample.output_text}}",
},
},
]
Değerlendirme oluşturma ve çalıştırma
Model hedefi
Yapay sorgular oluşturma ve modeli değerlendirme:
eval_object = client.evals.create(
name="Synthetic Data Evaluation",
data_source_config=data_source_config,
testing_criteria=testing_criteria,
)
data_source = {
"type": "azure_ai_synthetic_data_gen_preview",
"item_generation_params": {
"type": "synthetic_data_gen_preview",
"samples_count": 5,
"prompt": "Generate customer service questions about returning defective products",
"model_deployment_name": model_deployment_name,
"output_dataset_name": "my-synthetic-dataset",
},
"target": {
"type": "azure_ai_model",
"model": model_deployment_name,
},
}
eval_run = client.evals.runs.create(
eval_id=eval_object.id,
name="synthetic-data-evaluation",
data_source=data_source,
)
İsteğe bağlı olarak hedef modelin davranışını şekillendirmek için bir sistem istemi ekleyebilirsiniz. Yapay veri oluşturma ile kullandığınızda input_messages , yalnızca system rol iletilerini ekleyin; hizmet, oluşturulan sorguları otomatik olarak kullanıcı iletileri olarak sağlar.
data_source = {
"type": "azure_ai_synthetic_data_gen_preview",
"item_generation_params": {
"type": "synthetic_data_gen_preview",
"samples_count": 5,
"prompt": "Generate customer service questions about returning defective products",
"model_deployment_name": model_deployment_name,
},
"target": {
"type": "azure_ai_model",
"model": model_deployment_name,
},
"input_messages": {
"type": "template",
"template": [
{
"type": "message",
"role": "system",
"content": {
"type": "input_text",
"text": "You are a helpful customer service agent. Be empathetic and solution-oriented."
}
}
]
},
}
Aracı hedefi
Yapay sorgular oluşturma ve Foundry aracılarını değerlendirme:
data_source = {
"type": "azure_ai_synthetic_data_gen_preview",
"item_generation_params": {
"type": "synthetic_data_gen_preview",
"samples_count": 5,
"prompt": "Generate questions about returning defective products",
"model_deployment_name": model_deployment_name,
},
"target": {
"type": "azure_ai_agent",
"name": agent_name,
"version": agent_version,
},
}
eval_run = client.evals.runs.create(
eval_id=eval_object.id,
name="synthetic-agent-evaluation",
data_source=data_source,
)
Tamamlanmayı denetlemek ve sonuçları yorumlamak için bkz. Sonuçları alma. Yanıt, yapay verileri almak veya yeniden kullanmak için kullanabileceğiniz, oluşturulan veri kümesinin kimliğini içeren bir output_dataset_id özellik içerir.
Sonuçları alma
Değerlendirme çalıştırması tamamlandıktan sonra puanlanan sonuçları alın ve portalda veya program aracılığıyla gözden geçirin.
Sonuçları sorgula
Değerlendirme işlemleri eşzamansızdır. Tamamlanana kadar çalışma durumunu sorgulayın ve sonuçları alın.
import time
from pprint import pprint
while True:
run = client.evals.runs.retrieve(
run_id=eval_run.id, eval_id=eval_object.id
)
if run.status in ("completed", "failed"):
break
time.sleep(5)
print("Waiting for eval run to complete...")
# Retrieve results
output_items = list(
client.evals.runs.output_items.list(
run_id=run.id, eval_id=eval_object.id
)
)
pprint(output_items)
print(f"Report URL: {run.report_url}")
Sonuçları yorumlama
Tek bir veri örneği için tüm değerlendiriciler aşağıdaki şemayı çıkış olarak döndürür:
- Etiket: Birim testinin çıkışına benzer şekilde ikili bir "pass" veya "fail" etiketi. Değerlendiriciler arasında karşılaştırmaları kolaylaştırmak için bu sonucu kullanın.
- Puan: Her değerlendiricinin doğal ölçeğinden bir puan. Bazı değerlendiriciler, 5 nokta ölçeğinde puanlama (kalite değerlendiricileri) veya 7 nokta ölçeğinde (içerik güvenliği değerlendiricileri) ince taneli bir puanlama anahtarı kullanır. Metinsel benzerlik değerlendiricileri gibi diğerleri, 0 ile 1 arasında kayan F1 puanlarını kullanır. İkili olmayan herhangi bir "puan", "eşik" temelinde "etiket" alanında "başarılı" veya "başarısız" olarak ikili hale getirilir.
- Eşik: İkili olmayan tüm puanlar, kullanıcının SDK deneyiminde geçersiz kılabileceği varsayılan eşiğe göre "başarılı" veya "başarısız" olarak yapılandırılır.
- Neden: Anlaşılırlığı geliştirmek için, tüm LLM-judge değerlendiricileri belirli bir puanın neden verildiğini açıklamak için bir akıl yürütme alanı da oluşturur.
- Ayrıntılar: (isteğe bağlı) tool_call_accuracy gibi bazı değerlendiriciler için, kullanıcıların uygulamalarında hata ayıklamasına yardımcı olacak ek bilgiler içeren bir "ayrıntılar" alanı veya bayrakları olabilir.
Örnek çıkış (tek öğe)
{
"type": "azure_ai_evaluator",
"name": "Coherence",
"metric": "coherence",
"score": 4.0,
"label": "pass",
"reason": "The response is well-structured and logically organized, presenting information in a clear and coherent manner.",
"threshold": 3,
"passed": true
}
Örnek çıkış (birleşik)
Birden çok veri örneğine (bir veri kümesi) göre toplu sonuçlar elde etmek için, "geçiş" içeren örneklerin ortalama oranı bu veri kümesinin geçiş hızını oluşturur.
{
"eval_id": "eval_abc123",
"run_id": "run_xyz789",
"status": "completed",
"result_counts": {
"passed": 85,
"failed": 15,
"total": 100
},
"per_testing_criteria_results": [
{
"name": "coherence",
"passed": 92,
"failed": 8,
"pass_rate": 0.92
},
{
"name": "relevance",
"passed": 78,
"failed": 22,
"pass_rate": 0.78
}
]
}
Sorun giderme
uzun süre çalışan iş
Değerlendirme işiniz uzun süre Çalışıyor durumunda kalabilir. Bu durum genellikle Azure OpenAI model dağıtımı yeterli kapasiteye sahip olmadığında ve hizmetin istekleri yeniden denemesine neden olduğunda oluşur.
Çözünürlük:
- Geçerli değerlendirme işini
client.evals.runs.cancel(run_id, eval_id=eval_id)kullanarak iptal edin. - Azure portalında model kapasitesini artırın.
- Değerlendirmeyi yeniden çalıştırın.
Kimlik doğrulama hataları
401 Unauthorized veya 403 Forbidden hatası alırsanız, şunları doğrulayın:
-
DefaultAzureCredentialdoğru yapılandırıldı (Azure CLI kullanıyorsanızaz loginçalıştırın). - Hesabınız Foundry projesinde Foundry User rolüne sahipsiniz.
- Proje uç noktası URL'si doğrudur ve hem hesap hem de proje adlarını içerir.
Veri biçimi hataları
Değerlendirme bir şema veya veri eşleme hatasıyla başarısız olursa:
- JSONL dosyanızda satır başına geçerli bir JSON nesnesi olduğunu doğrulayın.
- içindeki
data_mappingalan adlarının JSONL dosyanızdaki alan adlarla tam olarak eşleşdiğini onaylayın (büyük/küçük harfe duyarlı). -
item_schemaözelliklerinin veri kümenizdeki alanlarla eşleşip eşleşmediğini kontrol edin.
Hız sınırı hataları
Değerlendirme çalıştırması oluşturma işlemleri kiracı, abonelik ve proje düzeylerinde kota ile sınırlandırılmıştır. Bir 429 Too Many Requests yanıt alırsanız:
-
retry-afterÖnerilen bekleme süresi için yanıttaki üst bilgiyi denetleyin. - Hız sınırı ayrıntıları için yanıt gövdesini gözden geçirin.
- Başarısız istekleri yeniden denerken üstel geri alma kullanın.
Bir değerlendirme işi yürütme sırasında bir 429 hatayla başarısız olursa:
- Değerlendirme veri kümenizin boyutunu küçültün veya daha küçük gruplara bölün.
- Azure portalında model dağıtımınız için dakika başına belirteç (TPM) kotasını artırın.
Araç değerlendirme hataları
Eğer bir aracın değerlendiricisi desteklenmeyen araçlar için hata döndürürse:
- Ajan değerlendiriciler için desteklenen araçları denetleyin.
- Geçici bir çözüm olarak, desteklenmeyen araçları kullanıcı tanımlı işlev araçları olarak sarmalayarak değerlendiricinin bunları değerlendirebilmesini sağlayın.