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.
Uyarı
Bu belge , Microsoft Foundry (klasik) portalını ifade eder.
🔍Yeni portal hakkında bilgi edinmek için Microsoft Foundry (yeni) belgelerini görüntüleyin.
Ö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 desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.
Üretici yapay zeka uygulamanızı önemli bir veri kümesine uygulayarak performansını kapsamlı bir şekilde değerlendirebilirsiniz. Azure AI Değerlendirme SDK'sı ile geliştirme ortamınızda uygulamayı değerlendirin.
Test veri kümesi veya hedef sağladığınızda, üretken yapay zeka uygulama çıkışlarınız hem matematiksel tabanlı ölçümlerle hem de yapay zeka destekli kalite ve güvenlik değerlendiricileriyle nicel olarak ölçülür. Yerleşik veya özel değerlendiriciler, uygulamanın özellikleri ve sınırlamaları hakkında kapsamlı içgörüler sağlayabilir.
Bu makalede, değerlendiricileri tek bir veri satırında ve uygulama hedefinde daha büyük bir test veri kümesinde çalıştırmayı öğreneceksiniz. Azure AI Değerlendirme SDK'sını yerel olarak kullanan yerleşik değerlendiriciler kullanırsınız. Ardından, bir Dökümhane projesindeki sonuçları ve değerlendirme günlüklerini izlemeyi öğrenirsiniz.
Get started
İlk olarak, Azure AI Değerlendirme SDK'sından değerlendirici paketini yükleyin:
pip install azure-ai-evaluation
Uyarı
Daha fazla bilgi için bkz. Python için Azure AI Değerlendirme istemci kitaplığı.
Yerleşik değerlendiriciler
Yerleşik kalite ve güvenlik ölçümleri, belirli değerlendiriciler için ek bilgilerin yanı sıra sorgu ve yanıt çiftlerini kabul eder.
| Kategori | Değerlendiriciler |
|---|---|
| Genel amaçlı |
CoherenceEvaluator, FluencyEvaluator, QAEvaluator |
| Metinsel benzerlik |
SimilarityEvaluator, F1ScoreEvaluator, BleuScoreEvaluator, , GleuScoreEvaluator, RougeScoreEvaluator, MeteorScoreEvaluator |
| Getirme artırmalı üretim (RAG) |
RetrievalEvaluator, DocumentRetrievalEvaluator, GroundednessEvaluator, , GroundednessProEvaluator, RelevanceEvaluator, ResponseCompletenessEvaluator |
| Risk ve güvenlik |
ViolenceEvaluator, SexualEvaluator, SelfHarmEvaluator, , HateUnfairnessEvaluator, IndirectAttackEvaluator, ProtectedMaterialEvaluator, UngroundedAttributesEvaluator, CodeVulnerabilityEvaluator, ContentSafetyEvaluator |
| Öznelik |
IntentResolutionEvaluator, ToolCallAccuracyEvaluator, TaskAdherenceEvaluator |
| Azure OpenAI |
AzureOpenAILabelGrader, AzureOpenAIStringCheckGrader, AzureOpenAITextSimilarityGrader, AzureOpenAIGrader |
Yerleşik değerlendiriciler için veri gereksinimleri
Yerleşik değerlendiriciler sorgu ve yanıt çiftlerini, JSON Satırları (JSONL) biçimindeki konuşmaların listesini veya her ikisini de kabul edebilir.
| Değerlendirici | Metin için konuşma ve tek dönüşlü destek | Metin ve resim için diyalog ve tek döngülü destek | Yalnızca metin için tek dönüşlü destek | Gerektirir ground_truth |
Aracı girişlerini destekler |
|---|---|---|---|---|---|
| Kalite Değerlendiricileri | |||||
IntentResolutionEvaluator |
✓ | ||||
ToolCallAccuracyEvaluator |
✓ | ||||
TaskAdherenceEvaluator |
✓ | ||||
GroundednessEvaluator |
✓ | ✓ | |||
GroundednessProEvaluator |
✓ | ||||
RetrievalEvaluator |
✓ | ||||
DocumentRetrievalEvaluator |
✓ | ✓ | |||
RelevanceEvaluator |
✓ | ✓ | |||
CoherenceEvaluator |
✓ | ||||
FluencyEvaluator |
✓ | ||||
ResponseCompletenessEvaluator |
✓ | ✓ | |||
QAEvaluator |
✓ | ✓ | |||
| Doğal Dil İşleme (NLP) Değerlendiricileri | |||||
SimilarityEvaluator |
✓ | ✓ | |||
F1ScoreEvaluator |
✓ | ✓ | |||
RougeScoreEvaluator |
✓ | ✓ | |||
GleuScoreEvaluator |
✓ | ✓ | |||
BleuScoreEvaluator |
✓ | ✓ | |||
MeteorScoreEvaluator |
✓ | ✓ | |||
| Güvenlik Değerlendiricileri | |||||
ViolenceEvaluator |
✓ | ||||
SexualEvaluator |
✓ | ||||
SelfHarmEvaluator |
✓ | ||||
HateUnfairnessEvaluator |
✓ | ||||
ProtectedMaterialEvaluator |
✓ | ||||
ContentSafetyEvaluator |
✓ | ||||
UngroundedAttributesEvaluator |
✓ | ||||
CodeVulnerabilityEvaluator |
✓ | ||||
IndirectAttackEvaluator |
✓ | ||||
| Azure OpenAI Sınıflayıcıları | |||||
AzureOpenAILabelGrader |
✓ | ||||
AzureOpenAIStringCheckGrader |
✓ | ||||
AzureOpenAITextSimilarityGrader |
✓ | ✓ | |||
AzureOpenAIGrader |
✓ |
Uyarı
Yapay zeka destekli kalite değerlendiricileri, SimilarityEvaluator hariç, bir neden alanı içerir. Puan için bir açıklama oluşturmak için düşünce zinciri mantığı gibi teknikler kullanırlar.
İyileştirilmiş değerlendirme kalitesinin bir sonucu olarak nesilde daha fazla belirteç kullanımı kullanırlar. Özellikle de max_token değerlendirici oluşturma için yapay zeka destekli değerlendiricilerin çoğu için 800 olarak ayarlanmıştır.
RetrievalEvaluator için 1600 ve ToolCallAccuracyEvaluator için 3000 değerine sahiptir, böylece daha uzun girişleri barındırabilir.
Azure OpenAI not verenler, giriş sütunlarının not verenin kullandığı gerçek girişe nasıl dönüştürüldüğünü açıklayan bir şablon gerektirir. Örneğin, sorgu ve yanıt adlı iki girişiniz ve olarak {{item.query}}biçimlendirilmiş bir şablonunuz varsa, yalnızca sorgu kullanılır. Benzer şekilde, konuşma girişini kabul etmek gibi {{item.conversation}} bir şeye sahip olabilirsiniz, ancak sistemin bunu işleyebilmesi, not verenin geri kalanını bu girişi bekleyecek şekilde nasıl yapılandırdığınıza bağlıdır.
Aracılı değerlendiricilerin veri gereksinimleri hakkında daha fazla bilgi için bkz. Yapay zeka aracılarınızı değerlendirme.
Metin için tek dönüşlü destek
Tüm yerleşik değerlendiriciler, dizelerde sorgu ve yanıt çiftleri olarak tek dönüşlü girişler alır. Örneğin:
from azure.ai.evaluation import RelevanceEvaluator
query = "What is the capital of life?"
response = "Paris."
# Initialize an evaluator:
relevance_eval = RelevanceEvaluator(model_config)
relevance_eval(query=query, response=response)
Yerel değerlendirmeyi kullanarak toplu değerlendirmeleri çalıştırmak veya bulut değerlendirmesi çalıştırmak üzere veri kümenizi karşıya yüklemek için veri kümesini JSONL biçiminde temsil edin. Sorgu ve yanıt çifti olan önceki tek dönüşlü veriler, aşağıdaki örnekte olduğu gibi üç satır gösteren bir veri kümesi satırına eşdeğerdir:
{"query":"What is the capital/major city of France?","response":"Paris."}
{"query":"What atoms compose water?","response":"Hydrogen and oxygen."}
{"query":"What color is my shirt?","response":"Blue."}
Değerlendirme testi veri kümesi, yerleşik her değerlendiricinin gereksinimlerine bağlı olarak aşağıdaki öğeleri içerebilir:
- Sorgu: Oluşturan yapay zeka uygulamasına gönderilen sorgu.
- Yanıt: Oluşturan yapay zeka uygulaması tarafından oluşturulan sorguya verilen yanıt.
- Bağlam: Oluşturulan yanıtın temel alındığı kaynak. Yani zeminlendirme belgeleri.
- Temel gerçek: Gerçek yanıt olarak bir kullanıcı veya insan tarafından oluşturulan yanıt.
Her değerlendiricinin neler gerektirdiğini görmek için bakınız Yerleşik değerlendiriciler.
Metin için konuşma desteği
Metinle bağlantılı konuşmaları destekleyen değerlendiricilere conversation giriş olarak sağlayabilirsiniz. Bu giriş, bir messages, content, role ve isteğe bağlı olarak context içeren bir liste içeren Python sözlüğünü içerir.
Python'da aşağıdaki iki aşamalı konuşmaya bakın:
conversation = {
"messages": [
{
"content": "Which tent is the most waterproof?",
"role": "user"
},
{
"content": "The Alpine Explorer Tent is the most waterproof",
"role": "assistant",
"context": "From the our product list the alpine explorer tent is the most waterproof. The Adventure Dining Table has higher weight."
},
{
"content": "How much does it cost?",
"role": "user"
},
{
"content": "The Alpine Explorer Tent is $120.",
"role": "assistant",
"context": None
}
]
}
Yerel değerlendirmeyi kullanarak toplu değerlendirmeleri çalıştırmak veya bulut değerlendirmesini çalıştırmak için veri kümenizi karşıya yüklemek için veri kümesini JSONL biçiminde temsil etmeniz gerekir. Önceki konuşma, aşağıdaki örnekte olduğu gibi bir JSONL dosyasındaki veri kümesi satırına eşdeğerdir:
{"conversation":
{
"messages": [
{
"content": "Which tent is the most waterproof?",
"role": "user"
},
{
"content": "The Alpine Explorer Tent is the most waterproof",
"role": "assistant",
"context": "From the our product list the alpine explorer tent is the most waterproof. The Adventure Dining Table has higher weight."
},
{
"content": "How much does it cost?",
"role": "user"
},
{
"content": "The Alpine Explorer Tent is $120.",
"role": "assistant",
"context": null
}
]
}
}
Değerlendiricilerimiz, konuşmanın ilk dönüşünün sorgu-yanıt biçiminde query'den user, context'den assistant ve response'den assistant geçerli olduğunu anlar. Daha sonra konuşmalar sırayla değerlendirilir ve sonuçlar konuşma puanı için tüm turlarda toplanır.
Uyarı
İkinci turda, contextnull ya da eksik bir anahtar olsa bile, değerlendirici hatayla başarısız olmak yerine dönüşü boş bir dize olarak yorumlar ve bu da yanıltıcı sonuçlara yol açabilir.
Değerlendirme verilerinizi veri gereksinimlerine uyacak şekilde doğrulamanızı kesinlikle öneririz.
Konuşma modu için bir örnek:GroundednessEvaluator
# Conversation mode:
import json
import os
from azure.ai.evaluation import GroundednessEvaluator, AzureOpenAIModelConfiguration
model_config = AzureOpenAIModelConfiguration(
azure_endpoint=os.environ.get("AZURE_ENDPOINT"),
api_key=os.environ.get("AZURE_API_KEY"),
azure_deployment=os.environ.get("AZURE_DEPLOYMENT_NAME"),
api_version=os.environ.get("AZURE_API_VERSION"),
)
# Initialize the Groundedness evaluator:
groundedness_eval = GroundednessEvaluator(model_config)
conversation = {
"messages": [
{ "content": "Which tent is the most waterproof?", "role": "user" },
{ "content": "The Alpine Explorer Tent is the most waterproof", "role": "assistant", "context": "From the our product list the alpine explorer tent is the most waterproof. The Adventure Dining Table has higher weight." },
{ "content": "How much does it cost?", "role": "user" },
{ "content": "$120.", "role": "assistant", "context": "The Alpine Explorer Tent is $120."}
]
}
# Alternatively, you can load the same content from a JSONL file.
groundedness_conv_score = groundedness_eval(conversation=conversation)
print(json.dumps(groundedness_conv_score, indent=4))
Konuşma çıktıları için, sıra başına sonuçlar bir listede depolanır ve genel konuşma puanı 'groundedness': 4.0 turlar boyunca ortalama alınır.
{
"groundedness": 5.0,
"gpt_groundedness": 5.0,
"groundedness_threshold": 3.0,
"evaluation_per_turn": {
"groundedness": [
5.0,
5.0
],
"gpt_groundedness": [
5.0,
5.0
],
"groundedness_reason": [
"The response accurately and completely answers the query by stating that the Alpine Explorer Tent is the most waterproof, which is directly supported by the context. There are no irrelevant details or incorrect information present.",
"The RESPONSE directly answers the QUERY with the exact information provided in the CONTEXT, making it fully correct and complete."
],
"groundedness_result": [
"pass",
"pass"
],
"groundedness_threshold": [
3,
3
]
}
}
Uyarı
Daha fazla değerlendirici modeli desteklemek için anahtarı ön ek olmadan kullanın. Örneğin, kullanın groundedness.groundedness.
Görüntüler ve çokmodlu metin ve görüntü için konuşma desteği
Görüntü ve çok modüllü görüntü ve metin için konuşmaları destekleyen değerlendiriciler için, içindeki görüntü URL'lerini veya Base64 ile kodlanmış görüntüleri conversationgeçirebilirsiniz.
Desteklenen senaryolar şunlardır:
- Görüntüye veya metin oluşturma işlemine metin girişi olan birden çok resim.
- Yalnızca metin kullanarak görüntü oluşturma.
- Metin oluşturma işlemine yalnızca görüntü girişi.
from pathlib import Path
from azure.ai.evaluation import ContentSafetyEvaluator
import base64
# Create an instance of an evaluator with image and multi-modal support.
safety_evaluator = ContentSafetyEvaluator(credential=azure_cred, azure_ai_project=project_scope)
# Example of a conversation with an image URL:
conversation_image_url = {
"messages": [
{
"role": "system",
"content": [
{"type": "text", "text": "You are an AI assistant that understands images."}
],
},
{
"role": "user",
"content": [
{"type": "text", "text": "Can you describe this image?"},
{
"type": "image_url",
"image_url": {
"url": "https://cdn.britannica.com/68/178268-050-5B4E7FB6/Tom-Cruise-2013.jpg"
},
},
],
},
{
"role": "assistant",
"content": [
{
"type": "text",
"text": "The image shows a man with short brown hair smiling, wearing a dark-colored shirt.",
}
],
},
]
}
# Example of a conversation with base64 encoded images:
base64_image = ""
with Path.open("Image1.jpg", "rb") as image_file:
base64_image = base64.b64encode(image_file.read()).decode("utf-8")
conversation_base64 = {
"messages": [
{"content": "create an image of a branded apple", "role": "user"},
{
"content": [{"type": "image_url", "image_url": {"url": f"data:image/jpg;base64,{base64_image}"}}],
"role": "assistant",
},
]
}
# Run the evaluation on the conversation to output the result.
safety_score = safety_evaluator(conversation=conversation_image_url)
Şu anda görüntü ve çok modüllü değerlendiriciler şunları destekler:
- Yalnızca tek mesaj: Konuşmada yalnızca bir kullanıcı iletisi ve bir asistan iletisi olabilir.
- Yalnızca bir sistem iletisi olan konuşmalar.
- Görüntüler de dahil olmak üzere 10 MB'tan küçük konuşma yükleri.
- Mutlak URL'ler ve Base64 ile kodlanmış görüntüler.
- Tek bir dönüşte birden çok görüntü.
- JPG/JPEG, PNG ve GIF dosya biçimleri.
Kurulum
Önizleme dışında yapay zeka destekli kalite değerlendiricileri için, GroundednessProEvaluator içinde bir GPT modeli (gpt-35-turbo, gpt-4, gpt-4-turbo, gpt-4o veya gpt-4o-mini) belirtmeniz gerekir. GPT modeli, değerlendirme verilerini puanlarken yargıç görevi görür. Hem Azure OpenAI hem de OpenAI modeli yapılandırma şemalarını destekliyoruz. Değerlendiricilerimizle en iyi performans ve ayrıştırılabilir yanıtlar için önizleme aşamasında olmayan GPT modellerini kullanmanızı öneririz.
Uyarı
"Değerlendirici modeliniz için gpt-3.5-turbo öğesini gpt-4o-mini ile değiştirin."
OpenAI'ye göre, gpt-4o-mini daha ucuz, daha yetenekli ve hızlı.
API anahtarıyla çıkarım çağrıları yapmak için en azından Azure OpenAI kaynağının Cognitive Services OpenAI User rolüne sahip olduğunuzdan emin olun. İzinler hakkında daha fazla bilgi için bkz. Azure OpenAI kaynağı için izinler.
tüm risk ve güvenlik değerlendiricileri GroundednessProEvaluator ile (önizleme) için, model_config içinde bir GPT dağıtımı yerine, azure_ai_project bilgilerinizi sağlamanız gerekir. Bu, Foundry projenizi kullanarak arka uç değerlendirme hizmetine erişir.
Yapay zeka destekli gömülü değerlendirici komutları
Saydamlık için, kalite değerlendiricilerimizin isteklerini Değerlendirici Kitaplığımızda ve Azure AI Değerlendirme Python SDK deposunda, güvenlik değerlendiricileri ve GroundednessProEvaluator dışında, Azure AI İçerik Güvenliği tarafından desteklenenler hariç, açık kaynak olarak sunuyoruz. Bu istemler, bir dil modelinin değerlendirme görevini gerçekleştirmesine yönelik yönergeler görevi görür ve bu da ölçümün ve ilgili puanlama puanlama bileşenlerinin insan dostu bir tanımını gerektirir. Tanımları özelleştirmenizi ve puanlama puanlarını senaryonuzun özelliklerine göre özelleştirmenizi kesinlikle öneririz. Daha fazla bilgi için bkz: Özel değerlendiriciler.
Bileşik değerlendiriciler
Bileşik değerlendiriciler, bireysel kalite veya güvenlik ölçümlerini birleştiren yerleşik değerlendiricilerdir. Hem sorgu yanıt çiftleri hem de sohbet iletileri için çok çeşitli ölçümler sağlar.
| Bileşik değerlendirici | İçerir | Description |
|---|---|---|
QAEvaluator |
GroundednessEvaluator, RelevanceEvaluator, CoherenceEvaluator, , FluencyEvaluator, SimilarityEvaluator, F1ScoreEvaluator |
Sorgu ve yanıt çiftleri için tek bir birleşik ölçüm çıkışı için tüm kalite değerlendiricilerini birleştirir |
ContentSafetyEvaluator |
ViolenceEvaluator, SexualEvaluator, SelfHarmEvaluator, HateUnfairnessEvaluator |
Sorgu ve yanıt çiftleri için tek bir birleşik ölçüm çıkışı için tüm güvenlik değerlendiricilerini birleştirir |
kullanarak test veri kümelerinde yerel değerlendirme evaluate()
Yerleşik veya özel değerlendiricilerinizi tek bir veri satırında kontrol ettikten sonra, tüm test veri kümesi üzerinde birden çok değerlendiriciyi birleşik bir şekilde evaluate() API'si ile birleştirebilirsiniz.
Microsoft Foundry projeleri için önkoşul ayarlama adımları
Bu oturumda değerlendirmeleri ilk kez çalıştırıyorsanız ve Foundry projenize kaydediyorsanız, aşağıdaki kurulum adımlarını uygulamanız gerekebilir.
- Depolama hesabınızı oluşturun ve kaynak düzeyinde Foundry projenize bağlayın. Bu bicep şablonu, anahtar ile kimlik doğrulama kullanarak bir depolama hesabı sağlar ve Foundry projenizle bağlantı kurar.
- Bağlı depolama hesabının tüm projelere erişimi olduğundan emin olun.
- Depolama hesabınızı Microsoft Entra Id ile bağladıysanız, Azure portalında hem hesabınıza hem de Dökümhane proje kaynağınıza Depolama Blobu Veri Sahibi için Microsoft Kimliği izinleri verdiğinizden emin olun.
Veri kümesi üzerinde değerlendirme yapma ve sonuçları Foundry'ye kaydetme
API'nin evaluate() verileri doğru ayrıştırabilmesini sağlamak için, veri kümesindeki sütunu değerlendiricilerin kabul ettiğiniz anahtar sözcüklerle eşlemek için sütun eşlemesi belirtmeniz gerekir. Bu örnek, , queryve responseiçin contextveri eşlemesini belirtir.
from azure.ai.evaluation import evaluate
result = evaluate(
data="data.jsonl", # Provide your data here:
evaluators={
"groundedness": groundedness_eval,
"answer_length": answer_length
},
# Column mapping:
evaluator_config={
"groundedness": {
"column_mapping": {
"query": "${data.queries}",
"context": "${data.context}",
"response": "${data.response}"
}
}
},
# Optionally, provide your Foundry project information to track your evaluation results in your project portal.
azure_ai_project = azure_ai_project,
# Optionally, provide an output path to dump a JSON file of metric summary, row-level data, and the metric and Foundry project URL.
output_path="./myevalresults.json"
)
Tavsiye
Foundry projenizdeki günlüğe kaydedilen değerlendirme sonuçlarınızı görüntülemek için bağlantının result.studio_url özelliğinin içeriğini alın.
Değerlendirici, toplam metrics ve satır düzeyi veri ve ölçümleri içeren bir sözlük olarak sonuçları çıkarır. Aşağıdaki örnek çıkışa bakın:
{'metrics': {'answer_length.value': 49.333333333333336,
'groundedness.gpt_groundeness': 5.0, 'groundedness.groundeness': 5.0},
'rows': [{'inputs.response': 'Paris is the capital/major city of France.',
'inputs.context': 'Paris has been the capital/major city of France since '
'the 10th century and is known for its '
'cultural and historical landmarks.',
'inputs.query': 'What is the capital/major city of France?',
'outputs.answer_length.value': 31,
'outputs.groundeness.groundeness': 5,
'outputs.groundeness.gpt_groundeness': 5,
'outputs.groundeness.groundeness_reason': 'The response to the query is supported by the context.'},
{'inputs.response': 'Albert Einstein developed the theory of '
'relativity.',
'inputs.context': 'Albert Einstein developed the theory of '
'relativity, with his special relativity '
'published in 1905 and general relativity in '
'1915.',
'inputs.query': 'Who developed the theory of relativity?',
'outputs.answer_length.value': 51,
'outputs.groundeness.groundeness': 5,
'outputs.groundeness.gpt_groundeness': 5,
'outputs.groundeness.groundeness_reason': 'The response to the query is supported by the context.'},
{'inputs.response': 'The speed of light is approximately 299,792,458 '
'meters per second.',
'inputs.context': 'The exact speed of light in a vacuum is '
'299,792,458 meters per second, a constant '
"used in physics to represent 'c'.",
'inputs.query': 'What is the speed of light?',
'outputs.answer_length.value': 66,
'outputs.groundeness.groundeness': 5,
'outputs.groundeness.gpt_groundeness': 5,
'outputs.groundeness.groundeness_reason': 'The response to the query is supported by the context.'}],
'traces': {}}
Bu evaluate() için Gereksinimler
API, evaluate() Foundry projenizdeki değerlendirme sonuçları grafiklerini doğru şekilde görüntülemek için belirli bir veri biçimi ve değerlendirici parametre anahtarı adları gerektirir.
Veri biçimi
evaluate() API yalnızca JSONL biçimindeki verileri kabul eder. Tüm yerleşik değerlendiriciler için, evaluate() gerekli giriş alanlarıyla aşağıdaki biçimde veriler gerektirir.
Yerleşik değerlendiriciler için gerekli veri girişiyle ilgili önceki bölüme bakın. Aşağıdaki kod parçacığı, bir satırın nasıl görünebileceğini gösteren bir örnektir:
{
"query":"What is the capital/major city of France?",
"context":"France is in Europe",
"response":"Paris is the capital/major city of France.",
"ground_truth": "Paris"
}
Değerlendirici parametre biçimi
Yerleşik değerlendiricilerinizi geçirirken evaluators parametre listesinde doğru anahtar kelime eşleşmesini belirtin. Aşağıdaki tabloda, yerleşik değerlendiricilerinizin sonuçlarının Foundry projenizde kaydedildiğinde kullanıcı arabiriminde gösterilmesi için gereken anahtar kelime eşlemesi gösterilmektedir.
| Değerlendirici | Anahtar sözcük parametresi |
|---|---|
GroundednessEvaluator |
"groundedness" |
GroundednessProEvaluator |
"groundedness_pro" |
RetrievalEvaluator |
"retrieval" |
RelevanceEvaluator |
"relevance" |
CoherenceEvaluator |
"coherence" |
FluencyEvaluator |
"fluency" |
SimilarityEvaluator |
"similarity" |
F1ScoreEvaluator |
"f1_score" |
RougeScoreEvaluator |
"rouge" |
GleuScoreEvaluator |
"gleu" |
BleuScoreEvaluator |
"bleu" |
MeteorScoreEvaluator |
"meteor" |
ViolenceEvaluator |
"violence" |
SexualEvaluator |
"sexual" |
SelfHarmEvaluator |
"self_harm" |
HateUnfairnessEvaluator |
"hate_unfairness" |
IndirectAttackEvaluator |
"indirect_attack" |
ProtectedMaterialEvaluator |
"protected_material" |
CodeVulnerabilityEvaluator |
"code_vulnerability" |
UngroundedAttributesEvaluator |
"ungrounded_attributes" |
QAEvaluator |
"qa" |
ContentSafetyEvaluator |
"content_safety" |
Parametrelerin nasıl ayarlanacağına ilişkin bir örnek aşağıda verilmiştir evaluators :
result = evaluate(
data="data.jsonl",
evaluators={
"sexual":sexual_evaluator,
"self_harm":self_harm_evaluator,
"hate_unfairness":hate_unfairness_evaluator,
"violence":violence_evaluator
}
)
Hedef üzerinde yerel değerlendirme
Çalıştırmak ve sonra değerlendirmek istediğiniz sorguların bir listesi varsa, evaluate() API bir target parametreyi de destekler. Bu parametre yanıtları toplamak için bir uygulamaya sorgu gönderir ve ardından elde edilen sorgu ve yanıtta değerlendiricilerinizi çalıştırır.
Hedef, dizininizdeki herhangi bir çağrılabilir sınıf olabilir. Bu örnekte, hedef olarak ayarlanmış çağrılabilir sınıfa askwiki.py sahip bir Python betiği askwiki() vardır. Basit askwiki uygulamaya gönderebileceğiniz bir sorgu veri kümeniz varsa, çıkışların temel durumunu değerlendirebilirsiniz. içindeki "column_mapping"verileriniz için uygun sütun eşlemesini belirttiğinizden emin olun. Tüm değerlendiriciler için sütun eşlemesini belirtmek için kullanabilirsiniz "default" .
içindeki içerik şu şekildedir "data.jsonl":
{"query":"When was United States found ?", "response":"1776"}
{"query":"What is the capital/major city of France?", "response":"Paris"}
{"query":"Who is the best tennis player of all time ?", "response":"Roger Federer"}
from askwiki import askwiki
result = evaluate(
data="data.jsonl",
target=askwiki,
evaluators={
"groundedness": groundedness_eval
},
evaluator_config={
"default": {
"column_mapping": {
"query": "${data.queries}",
"context": "${outputs.context}",
"response": "${outputs.response}"
}
}
}
)
İlgili içerik
- Python için Azure AI Değerlendirme istemci kitaplığı
- AI Değerlendirme SDK'sı Sorunlarını Giderme
- Üretken yapay zekada gözlemlenebilirlik
- Microsoft Foundry SDK'sını kullanarak değerlendirmeleri bulutta çalıştırma
- Değerlendirme için yapay ve simülasyon verileri oluşturma
- Dökümhane portalında değerlendirme sonuçlarına bakın
- Foundry ile çalışmaya başlama
- Değerlendirme örneklerini kullanmaya başlama