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 desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri Ek Kullanım Koşulları.
Önemli bir veri kümesine uygulandığında üretken yapay zeka uygulamanızın performansını kapsamlı bir şekilde değerlendirmek için Azure AI değerlendirme SDK'sı ile geliştirme ortamınızda bir Oluşturucu yapay zeka uygulamasını değerlendirebilirsiniz. Test veri kümesi veya hedef göz önünde bulundurulduğunda, üretken yapay zeka uygulama nesilleriniz 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, azure yapay zeka değerlendirme SDK'sını yerel olarak kullanarak yerleşik değerlendiricilere sahip bir uygulama hedefinde daha büyük bir test veri kümesi olan tek bir veri satırında değerlendirici çalıştırmayı ve ardından Azure AI projesindeki sonuçları ve değerlendirme günlüklerini izlemeyi öğreneceksiniz.
Başlangıç Yapmak
Öncelikle Azure AI değerlendirme SDK'sından değerlendirici paketini yükleyin:
pip install azure-ai-evaluation
Uyarı
Daha ayrıntılı bilgi için Bkz. Azure AI Değerlendirme SDK'sı için API Başvuru Belgeleri.
Yerleşik değerlendiriciler
Kategori | Değerlendiriciler |
---|---|
Genel amaçlı |
CoherenceEvaluator , FluencyEvaluator , QAEvaluator |
Metinsel benzerlik |
SimilarityEvaluator , F1ScoreEvaluator , BleuScoreEvaluator , , GleuScoreEvaluator , RougeScoreEvaluator , MeteorScoreEvaluator |
Retrieval-Augmented Oluşturma (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 kalite ve güvenlik ölçümleri, belirli değerlendiriciler için ek bilgilerin yanı sıra sorgu ve yanıt çiftlerinde yer alır.
Yerleşik değerlendiriciler için veri gereksinimleri
Yerleşik değerlendiriciler, ya sorgu ve yanıt çiftlerini ya da formatındaki konuşmaların bir listesini veya her ikisini de kabul edebilir.
Metin için diyalog ve tek seferlik destek | Metin ve resim için konuşma ve tek dönüşlü destek | Yalnızca metin için tek dönüşlü destek |
---|---|---|
GroundednessEvaluator , GroundednessProEvaluator , RetrievalEvaluator , DocumentRetrievalEvaluator , RelevanceEvaluator , CoherenceEvaluator , FluencyEvaluator , ResponseCompletenessEvaluator , IndirectAttackEvaluator , AzureOpenAILabelGrader , AzureOpenAIStringCheckGrader , AzureOpenAITextSimilarityGrader , AzureOpenAIGrader |
ViolenceEvaluator , SexualEvaluator , SelfHarmEvaluator , , HateUnfairnessEvaluator , ProtectedMaterialEvaluator , ContentSafetyEvaluator |
UngroundedAttributesEvaluator , CodeVulnerabilityEvaluator , ResponseCompletenessEvaluator , SimilarityEvaluator , F1ScoreEvaluator , RougeScoreEvaluator , GleuScoreEvaluator , BleuScoreEvaluator , MeteorScoreEvaluator , QAEvaluator |
Uyarı
Yapay zeka destekli kalite değerlendiricileri, SimilarityEvaluator
hariç, bir neden alanıyla birlikte gelir. Puana ilişkin bir açıklama oluşturmak için düşünce zinciri mantığı da dahil olmak üzere teknikler devreye alır. Bu nedenle, daha iyi değerlendirme kalitesi sonucu üretim sürecinde daha fazla belirteç kullanır. Özellikle, tüm yapay zeka destekli değerlendiriciler için değerlendirici oluşturma ayarı 800 olarak belirlenmiştir (ve daha uzun girişlere uyum sağlamak için max_token
1600 olarak ayarlanmıştır.)
Uyarı
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. Örnek: "query" ve "response" adlı iki girişiniz ve şöyle biçimlendirilmiş bir şablonunuz varsa: {{item.query}}
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ğerlendiriciler için veri gereksinimleri hakkında daha fazla bilgi için Azure AI Değerlendirme SDK'sı ile aracı değerlendirmelerini yerel olarak çalıştırma bölümüne gidin.
Metin için tek dönüşlü destek
Tüm yerleşik değerlendiriciler, dizelerdeki sorgu ve yanıt çiftlerinde olduğu gibi tek dönüşlü girişler alır, örneğin:
from azure.ai.evaluation import RelevanceEvaluator
query = "What is the cpital of life?"
response = "Paris."
# Initializing an evaluator
relevance_eval = RelevanceEvaluator(model_config)
relevance_eval(query=query, response=response)
Yerel değerlendirme 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 tek dönüşlü veriler (sorgu ve yanıt çifti) aşağıdaki gibi bir veri kümesi satırına eşdeğerdir (örnek olarak üç satır gösteririz):
{"query":"What is the capital 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ğıdakileri 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 aldığı kaynak (yani topraklama belgeleri)
- Temel gerçek: Gerçek yanıt olarak kullanıcı/insan tarafından oluşturulan yanıt
Her değerlendiricinin ne gerektirdiğini görmek için Yerleşik değerlendiriciler belgelerinde daha fazla bilgi edinebilirsiniz.
Metin için konuşma desteği
Metin konuşmalarını destekleyen değerlendiriciler için giriş olarak, conversation
, messages
, ve isteğe bağlı olarak content
içeren bir listeyle birlikte role
Python sözlüğü sağlayabilirsiniz.
Python'da iki aşamalı konuşma örneği:
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ğerlendirme 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, dosyada aşağıdaki gibi bir veri kümesi satırına .jsonl
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, context
bir anahtar eksik olsa veya null
bile, hata vermek yerine boş bir dize olarak yorumlanır; 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"),
)
# Initializing Groundedness and Groundedness Pro evaluators
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ı
Kesinlikle kullanıcılara kodlarını ön ekler olmadan anahtarı kullanacak şekilde geçirmelerini öneririz (örneğin groundedness.groundedness
), kodunuz daha fazla değerlendirme modeli destekleyebilir.
Görüntüler ve çok modlu metin ve resim için konuşma desteği
Görüntü ve çok modlu görüntü ve metin için konuşmaları destekleyen değerlendiriciler içinde, görüntü URL’lerini veya base64 ile kodlanan görüntüleri conversation
geçirebilirsiniz.
Desteklenen senaryoların örnekleri aşağıda verilmiştir:
- Resim veya metin üretme işlemine metin girişiyle katılan birden fazla görüntü
- Metin girdisiyle görüntü oluşturma
- Yalnızca metin oluşturma girişlerini görüntüle
from pathlib import Path
from azure.ai.evaluation import ContentSafetyEvaluator
import base64
# instantiate 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 çoklu modlu değerlendiriciler aşağıdakileri destekler:
- Yalnızca tek tur (bir konuşmada yalnızca bir kullanıcı mesajı ve bir yardımcı mesajı olabilir)
- Konuşmada yalnızca bir sistem iletisi olabilir
- Konuşma yükü 10 MB'tan küçük olmalıdır (görüntüler dahil)
- Mutlak URL'ler ve Base64 ile kodlanmış görüntüler
- Tek bir dönüşte birden çok resim
- JPG/JPEG, PNG, GIF dosya biçimleri
Kurulum
Yapay zeka destekli kalite değerlendiricileriniz için, GroundednessProEvaluator
(önizleme) hariç, değerlendirme verilerini puanlamak üzere yargıç olarak görev yapacak bir GPT modeli (gpt-35-turbo
, gpt-4
, gpt-4-turbo
, gpt-4o
, veya gpt-4o-mini
) belirtmeniz gerekir. Hem Azure OpenAI hem de OpenAI modeli yapılandırma şeması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 modelinizde gpt-3.5-turbo
yerine gpt-4o-mini
kullanılması, OpenAI'ye göre daha ucuz, daha yetenekli ve aynı derecede hızlı olduğundan kesinlikle önerilir.
API anahtarıyla çıkarım çağrıları yapmak için Azure OpenAI kaynağının en az Cognitive Services OpenAI User
rolüne sahip olduğunuzdan emin olun. İzinler hakkında daha fazla bilgi edinmek için Azure OpenAI kaynağı için izinler kısmına bakın.
Risk ve Güvenlik Değerlendiricileri ve GroundednessProEvaluator
(önizleme) için, model_config
içinde bir GPT dağıtımı yerine, azure_ai_project
bilgilerinizi sağlamanız gerekir. Bu, Azure AI projeniz aracılığıyla arka uç değerlendirme hizmetine erişir.
Yapay zeka destekli gömülü değerlendirici komutları
Güvenlik Değerlendiricileri ve GroundednessProEvaluator
dışında, kalite değerlendiricilerimizin komutlarını Değerlendirici Kitaplığımızda ve Azure AI Değerlendirme Python SDK'sı depomuzda saydamlık açısından açık kaynak olarak paylaşıyoruz. 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. Kullanıcıların tanımları özelleştirmelerini ve puanlama puanlarını senaryo özelliklerine göre özelleştirmelerini kesinlikle öneririz. Özel Değerlendiriciler'deki ayrıntılara bakın.
Bileşik değerlendiriciler
Bileşik değerlendiriciler, hem sorgu yanıt çiftleri hem de sohbet iletileri için çok çeşitli ölçümleri kolayca sağlamak üzere bireysel kalite veya güvenlik ölçümlerini birleştiren yerleşik değerlendiricilerdir.
Bileşik değerlendirici | İçerir | Açıklama |
---|---|---|
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.
Azure AI Foundry Projeleri için önkoşul ayarlama adımları
Değerlendirmeleri ilk kez çalıştırıyorsanız ve Azure AI Foundry projenizde günlüğe kaydediyorsanız, birkaç ek kurulum adımı gerçekleştirmeniz gerekebilir.
- Depolama hesabınızı oluşturun ve kaynak düzeyinde Azure AI 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 MSI (Microsoft Identity) izinleri verdiğinizden emin olun.
Bir veri kümesi üzerinde değerlendirme yapın ve sonuçları Azure AI Foundry'ye kaydedin.
öğesinin evaluate()
verileri doğru ayrıştırabilmesini sağlamak için, veri kümesindeki sütunu değerlendiriciler tarafından kabul edilen anahtar sözcüklerle eşlemek için sütun eşlemesi belirtmeniz gerekir. Bu durumda, query
, response
ve context
için veri eşlemesini belirtiyoruz.
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 Azure AI 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 of metric summary, row level data and metric and Azure AI project URL
output_path="./myevalresults.json"
)
Tavsiye
Azure AI projenizde günlüğe kaydedilen değerlendirme sonuçlarınızı görüntülemek için bir bağlantı elde etmek üzere result.studio_url
özelliğinin içeriğini alın.
Değerlendirici, toplama metrics
ve satır düzeyi verileri ve ölçümleri içeren bir sözlükte sonuçları verir. Çıktı örneği:
{'metrics': {'answer_length.value': 49.333333333333336,
'groundedness.gpt_groundeness': 5.0, 'groundedness.groundeness': 5.0},
'rows': [{'inputs.response': 'Paris is the capital of France.',
'inputs.context': 'Paris has been the capital of France since '
'the 10th century and is known for its '
'cultural and historical landmarks.',
'inputs.query': 'What is the capital 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'nin evaluate()
kabul edilen veri biçimine ve değerlendirici parametre anahtar adlarını nasıl işlediğine ilişkin birkaç gereksinimi vardır; böylece Azure AI projenizdeki değerlendirme sonuçlarının grafikleri düzgün görünür.
Veri biçimi
evaluate()
API yalnızca JSONLines biçimindeki verileri kabul eder. Tüm yerleşik değerlendiriciler için, evaluate()
gerekli giriş alanlarıyla birlikte aşağıdaki biçimde veriler gerektirir. Yerleşik değerlendiriciler için gerekli veri girişiyle ilgili önceki bölüme bakın. Bir satır örneği şöyle görünebilir:
{
"query":"What is the capital of France?",
"context":"France is in Europe",
"response":"Paris is the capital of France.",
"ground_truth": "Paris"
}
Değerlendirici parametre biçimi
Yerleşik değerlendiricilerinizi geçirirken, evaluators
parametre listesinde doğru anahtar sözcük eşlemesini belirtmek önemlidir. Aşağıdaki tablo, Yerleşik değerlendiricilerinizin sonuçlarının Azure AI projenizde oturum açtığınızda kullanıcı arabiriminde gösterilmesi için gereken anahtar sözcük eşlemesidir.
Değerlendirici | anahtar sözcük parametre |
---|---|
GroundednessEvaluator |
gerçeklik hissi |
GroundednessProEvaluator |
temellilik_pro |
RetrievalEvaluator |
geri getirme |
RelevanceEvaluator |
"ilgi" |
CoherenceEvaluator |
"tutarlılık" |
FluencyEvaluator |
"akıcılık" |
SimilarityEvaluator |
benzerlik |
F1ScoreEvaluator |
"f1_score" |
RougeScoreEvaluator |
kırmızı |
GleuScoreEvaluator |
gleu |
BleuScoreEvaluator |
"bleu" |
MeteorScoreEvaluator |
gök taşı |
ViolenceEvaluator |
"şiddet" |
SexualEvaluator |
cinsel |
SelfHarmEvaluator |
kendine zarar verme |
HateUnfairnessEvaluator |
haksızlıktan nefret et |
IndirectAttackEvaluator |
dolaylı saldırı |
ProtectedMaterialEvaluator |
korunmuş_malzeme |
CodeVulnerabilityEvaluator |
kod zafiyeti |
UngroundedAttributesEvaluator |
temelsiz_özellikler |
QAEvaluator |
Kalite Güvencesi |
ContentSafetyEvaluator |
içerik_güvenliği |
Parametreleri ayarlama örneği 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 değerlendirmek istediğiniz sorguların bir listesi varsa , evaluate()
yanıt toplamak için bir uygulamaya sorgu gönderebilen ve ardından elde edilen sorgu ve yanıtta değerlendiricilerinizi çalıştırabilen bir target
parametreyi de destekler.
Hedef, dizininizdeki herhangi bir çağrılabilir sınıf olabilir. Bu durumda, hedef olarak ayarlayabildiğimiz çağrılabilir sınıfa askwiki.py
sahip bir Python betiğimiz askwiki()
vardır. Basit askwiki
uygulamamıza gönderebileceğimiz bir sorgu veri kümesi göz önünde bulundurulduğunda, çıkışların temel durumunu değerlendirebiliriz.
"column_mapping"
içindeki verileriniz için doğru sütun eşlemesini belirttiğinizden emin olun. Tüm değerlendiriciler için sütun eşlemesini belirtmek için kullanabilirsiniz "default"
.
"data.jsonl" içindeki içerik şu şekildedir:
{"query":"When was United Stated found ?", "response":"1776"}
{"query":"What is the capital 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
- Azure AI Değerlendirme Python SDK'sı istemci başvuru belgeleri
- Azure AI Değerlendirme SDK'sı istemcisi sorun giderme kılavuzu
- Değerlendirme ölçümleri hakkında daha fazla bilgi edinin
- Üretken yapay zeka uygulamalarınızı bulutta uzaktan değerlendirme
- Değerlendirme için test veri kümelerinin simülasyonu hakkında daha fazla bilgi edinin
- Azure AI projesinde değerlendirme sonuçlarınızı görüntüleme
- Azure AI Foundry SDK'sını kullanarak sohbet uygulaması oluşturmaya başlama
- Değerlendirme örneklerini kullanmaya başlama