إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق فقط على:بوابة Foundry (كلاسيكية). هذه المقالة غير متاحة لبوابة Foundry الجديدة.
تعرف على المزيد حول البوابة الجديدة.
ملاحظة
بعض الروابط في هذا المقال قد تفتح محتوى في وثائق Microsoft Foundry الجديدة بدلا من وثائق Foundry (الكلاسيكية) التي تشاهدها الآن.
مهم
العناصر التي تم وضع علامة عليها (إصدار أولي) في هذه المقالة موجودة حالياً في الإصدار الأولي العام. يتم توفير هذه المعاينة دون اتفاقية على مستوى الخدمة، ولا نوصي بها لأحمال عمل الإنتاج. بعض الميزات ربما لا تكون مدعمة أو بها بعض القدرات المقيدة. لمزيد من المعلومات، راجع شروط الاستخدام الإضافية لمعاينات مايكروسوفت Azure.
يمكنك تقييم أداء تطبيق الذكاء الاصطناعي التوليدي بدقة من خلال تطبيقه على مجموعة بيانات كبيرة. قيم التطبيق في بيئة التطوير الخاصة بك باستخدام حزمة Azure AI Evaluation SDK.
عند توفير مجموعة بيانات اختبار أو هدف، يتم قياس مخرجات التطبيق الذكاء الاصطناعي التوليدية كميا مع كل من المقاييس القائمة على الرياضيات ومقيمي الجودة والسلامة بمساعدة الذكاء الاصطناعي. يمكن أن يوفر لك المقيمون المضمنون أو المخصصون رؤى شاملة حول قدرات التطبيق وقيوده.
في هذه المقالة، ستتعلم كيفية تشغيل المقيمين على صف واحد من البيانات ومجموعة بيانات اختبار أكبر على هدف تطبيق. تستخدم مقيمين مدمجين يستخدمون حزمة Azure AI Evaluation محليا. ثم تتعلم تتبع النتائج وسجلات التقييم في project Foundry.
Get started
أولا، قم بتثبيت حزمة المقيمين من حزمة تطوير SDK الخاصة ب Azure AI Evaluation:
pip install azure-ai-evaluation
ملاحظة
لمزيد من المعلومات، راجع Azure مكتبة عملاء تقييم الذكاء الاصطناعي ل Python.
المقيمون المدمجة
تقبل مقاييس الجودة والسلامة المضمنة أزواج الاستعلام والاستجابة، إلى جانب معلومات إضافية لمقيمين محددين.
| فئة | Evaluators |
|---|---|
| الغرض العام |
CoherenceEvaluator، ، FluencyEvaluatorQAEvaluator |
| التشابه النصي |
SimilarityEvaluator، F1ScoreEvaluator، BleuScoreEvaluator، GleuScoreEvaluator، ، RougeScoreEvaluatorMeteorScoreEvaluator |
| الجيل المعزز باسترداد (RAG) |
RetrievalEvaluator، DocumentRetrievalEvaluator، GroundednessEvaluator، GroundednessProEvaluator، ، RelevanceEvaluatorResponseCompletenessEvaluator |
| المخاطر والسلامة |
ViolenceEvaluator، ، SexualEvaluatorSelfHarmEvaluator، HateUnfairnessEvaluator، IndirectAttackEvaluator، ProtectedMaterialEvaluator، UngroundedAttributesEvaluator، ، CodeVulnerabilityEvaluator،ContentSafetyEvaluator |
| Agentic |
IntentResolutionEvaluator، ، ToolCallAccuracyEvaluatorTaskAdherenceEvaluator |
| Azure OpenAI |
AzureOpenAILabelGrader، ، AzureOpenAIStringCheckGrader، AzureOpenAITextSimilarityGraderAzureOpenAIGrader |
متطلبات البيانات للمقيمين المضمنين
يمكن للمقيمين المضمنين قبول أزواج الاستعلام والاستجابة أو قائمة المحادثات بتنسيق خطوط JSON (JSONL) أو كليهما.
| Evaluator | دعم المنعطف الفردي للمحادثة للنص | دعم المنعطف الفردي للمحادثة والنص والصورة | دعم الدوران الفردي للنص فقط | يتطلب ground_truth |
يدعم مدخلات الوكيل |
|---|---|---|---|---|---|
| مقيمي الجودة | |||||
IntentResolutionEvaluator |
✓ | ||||
ToolCallAccuracyEvaluator |
✓ | ||||
TaskAdherenceEvaluator |
✓ | ||||
GroundednessEvaluator |
✓ | ✓ | |||
GroundednessProEvaluator |
✓ | ||||
RetrievalEvaluator |
✓ | ||||
DocumentRetrievalEvaluator |
✓ | ✓ | |||
RelevanceEvaluator |
✓ | ✓ | |||
CoherenceEvaluator |
✓ | ||||
FluencyEvaluator |
✓ | ||||
ResponseCompletenessEvaluator |
✓ | ✓ | |||
QAEvaluator |
✓ | ✓ | |||
| مقيمو معالجة اللغة الطبيعية (NLP) | |||||
SimilarityEvaluator |
✓ | ✓ | |||
F1ScoreEvaluator |
✓ | ✓ | |||
RougeScoreEvaluator |
✓ | ✓ | |||
GleuScoreEvaluator |
✓ | ✓ | |||
BleuScoreEvaluator |
✓ | ✓ | |||
MeteorScoreEvaluator |
✓ | ✓ | |||
| مقيمي السلامة | |||||
ViolenceEvaluator |
✓ | ||||
SexualEvaluator |
✓ | ||||
SelfHarmEvaluator |
✓ | ||||
HateUnfairnessEvaluator |
✓ | ||||
ProtectedMaterialEvaluator |
✓ | ||||
ContentSafetyEvaluator |
✓ | ||||
UngroundedAttributesEvaluator |
✓ | ||||
CodeVulnerabilityEvaluator |
✓ | ||||
IndirectAttackEvaluator |
✓ | ||||
| Azure مصححو OpenAI | |||||
AzureOpenAILabelGrader |
✓ | ||||
AzureOpenAIStringCheckGrader |
✓ | ||||
AzureOpenAITextSimilarityGrader |
✓ | ✓ | |||
AzureOpenAIGrader |
✓ |
ملاحظة
مقيمو الجودة المدعومون بالذكاء الذكاء الاصطناعي، باستثناء SimilarityEvaluator، يشملون حقل السبب. يستخدمون تقنيات مثل التفكير بسلسلة التفكير لتوليد تفسير للنتيجة.
يستهلكون المزيد من استخدام الرمز المميز في التوليد نتيجة لتحسين جودة التقييم. على وجه التحديد ، max_token يتم تعيين إنشاء المقيم على 800 لمعظم المقيمين المدعومين بمساعدة الذكاء الاصطناعي. لها قيمة 1600 ل RetrievalEvaluator و 3000 ل ToolCallAccuracyEvaluator لاستيعاب المدخلات الأطول.
Azure يحتاج مصححو OpenAI إلى قالب يشرح كيف يتم تحويل أعمدة الإدخال إلى مدخل real الذي يستخدمه المصحح. على سبيل المثال، إذا كان لديك إدخالان يسمى الاستعلاموالاستجابة، وقالب منسق ك {{item.query}}، استخدام الاستعلام فقط. وبالمثل، يمكن أن يكون لديك شيء مثل {{item.conversation}} قبول إدخال محادثة، ولكن قدرة النظام على التعامل مع ذلك تعتمد على كيفية تكوين بقية الدرجات لتوقع هذا الإدخال.
لمزيد من المعلومات حول متطلبات البيانات للمقيمين الوكلاء، راجع تقييم وكلاء الذكاء الاصطناعي الخاص بك.
دعم أحادي الدور للنص
يأخذ جميع المقيمين المضمنين مدخلات أحادية الدور كأزواج استعلام واستجابة في السلاسل. على سبيل المثال:
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)
لتشغيل تقييمات الدفعات باستخدام التقييم المحلي أو تحميل مجموعة البيانات الخاصة بك لتشغيل تقييم سحابي، قم بتمثيل مجموعة البيانات بتنسيق JSONL. البيانات السابقة أحادية المنعطف، وهي زوج استعلام واستجابة، تعادل سطرا من مجموعة بيانات مثل المثال التالي، والذي يعرض ثلاثة أسطر:
{"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."}
يمكن أن تحتوي مجموعة بيانات اختبار التقييم على العناصر التالية، اعتمادا على متطلبات كل مقيم مدمج:
- الاستعلام: الاستفسار الذي تم إرساله إلى تطبيق الذكاء الاصطناعي التوليدي.
- الاستجابة: الرد على الاستعلام الذي تم إنشاؤه بواسطة تطبيق الذكاء الاصطناعي التوليدي.
- السياق: المصدر الذي تستند إليه الاستجابة التي تم إنشاؤها. أي وثائق التأريض.
- الحقيقة الأساسية: الاستجابة التي تم إنشاؤها بواسطة مستخدم أو إنسان كإجابة حقيقية.
لمعرفة ما يتطلبه كل مقيم، راجع المقيمين المدمجين.
دعم المحادثة للنص
بالنسبة للمقيمين الذين يدعمون المحادثات للنص، يمكنك توفير conversation كمدخلات. يتضمن هذا الإدخال قاموس Python مع قائمة ، messagesوالتي تتضمن content، roleو اختياريا context.
راجع المحادثة التالية ثنائية الدور في Python:
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
}
]
}
لتشغيل تقييمات الدفعات باستخدام التقييم المحلي أو تحميل مجموعة البيانات الخاصة بك لتشغيل التقييم السحابي، تحتاج إلى تمثيل مجموعة البيانات بتنسيق JSONL. المحادثة السابقة تعادل سطرا من مجموعة البيانات في ملف JSONL مثل المثال التالي:
{"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
}
]
}
}
يفهم المقيمون لدينا أن الدور الأول للمحادثة يوفر صالحا query من userومن contextassistantومن وفي responseassistant تنسيق استجابة الاستعلام. ثم يتم تقييم المحادثات لكل دور ويتم تجميع النتائج على جميع المنعطفات لدرجة المحادثة.
ملاحظة
في المنعطف الثاني ، حتى لو context كان null مفتاحا مفقودا ، يفسر المقيم المنعطف على أنه سلسلة فارغة بدلا من الفشل مع وجود خطأ ، مما قد يؤدي إلى نتائج مضللة.
نوصي بشدة بالتحقق من صحة بيانات التقييم الخاصة بك للامتثال لمتطلبات البيانات.
بالنسبة لوضع المحادثة، فيما يلي مثال على 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))
بالنسبة لمخرجات المحادثة، يتم تخزين النتائج لكل دور في قائمة ويتم حساب متوسط درجة 'groundedness': 4.0 المحادثة الإجمالية عبر المنعطفات:
{
"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
]
}
}
ملاحظة
لدعم المزيد من نماذج المقيمين، استخدم المفتاح بدون بادئات. على سبيل المثال، استخدم groundedness.groundedness.
دعم المحادثة للصور والنصوص والصور متعددة الوسائط
بالنسبة للمقيمين الذين يدعمون المحادثات للصور والنصوص متعددة الوسائط، يمكنك إدخال روابط الصور أو الصور المشفرة في Base64 في conversation.
تتضمن السيناريوهات المدعومة ما يلي:
- صور متعددة مع إدخال نص إلى إنشاء صورة أو نص.
- إدخال النص فقط إلى أجيال الصور.
- إدخال الصورة فقط لإنشاء النص.
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)
حاليا، يدعم مقيمو الصور والوسائط المتعددة:
- دورة واحدة فقط: يمكن أن تحتوي المحادثة على رسالة مستخدم واحدة ورسالة مساعد واحدة فقط.
- المحادثات التي تحتوي على رسالة نظام واحدة فقط.
- حمولات المحادثة التي يقل حجمها عن 10 ميغابايت، بما في ذلك الصور.
- عناوين URL المطلقة والصور المرمزة ب Base64.
- صور متعددة في دور واحد.
- تنسيقات ملفات JPG/JPEG وPNG وGIF.
الإعداد
بالنسبة لمقيمي الجودة بمساعدة الذكاء الاصطناعي ، باستثناء GroundednessProEvaluator المعاينة ، يجب عليك تحديد نموذج GPT (gpt-35-turboأو gpt-4، gpt-4-turboأو gpt-4o، أو gpt-4o-mini) في ملف model_config. يعمل نموذج GPT كقاض لتسجيل بيانات التقييم. نحن ندعم كل من مخططات تكوين نماذج Azure OpenAI أو OpenAI. للحصول على أفضل أداء واستجابات قابلة للتحلل مع المقيمين لدينا، نوصي باستخدام نماذج GPT غير الموجودة في المعاينة.
ملاحظة
استبدل gpt-3.5-turbo ب gpt-4o-mini لنموذج المقيم الخاص بك. وفقا ل OpenAI ، gpt-4o-mini فهي أرخص وأكثر قدرة وبسرعة.
لإجراء استدعاءات الاستنتاج باستخدام مفتاح API، تأكد من أن لديك على الأقل دور Cognitive Services OpenAI User لمورد OpenAI Azure. لمزيد من المعلومات حول الأذونات، راجع Permissions لمورد Azure OpenAI.
بالنسبة لجميع مقيمي المخاطر والسلامة و GroundednessProEvaluator (معاينة)، بدلا من توزيع GPT في model_config، يجب عليك تقديم azure_ai_project معلوماتك. هذا يتيح الوصول إلى خدمة التقييم الخلفية باستخدام project Foundry الخاص بك.
المطالبات بالمقيمين المضمنين بمساعدة الذكاء الاصطناعي
للشفافية، نقوم بفتح مصادر لمحفزات مقيمي الجودة لدينا في مكتبة المقيمين ومستودع Azure AI Evaluation Python SDK، باستثناء مقيمين السلامة وGroundednessProEvaluator، المدعومين من Azure AI Content Safety. تعمل هذه المطالبات كإرشادات لنموذج اللغة لأداء مهمة التقييم الخاصة به، والتي تتطلب تعريفا مألوفا للإنسان للمقياس ودرجات النقاط المرتبطة به. نوصي بشدة بتخصيص التعريفات وقواعد التقدير وفقا لتفاصيل السيناريو الخاص بك. لمزيد من المعلومات، راجع المقيمين المخصصين.
المقيمون المركبون
المقيمون المركبون هم مقيمون مضمنون يجمعون بين مقاييس الجودة أو السلامة الفردية. إنها توفر مجموعة واسعة من المقاييس مباشرة خارج الصندوق لكل من أزواج الاستجابة للاستعلام أو رسائل الدردشة.
| المقيم المركب | يحتوي | وصف |
|---|---|---|
QAEvaluator |
GroundednessEvaluator، RelevanceEvaluator، CoherenceEvaluator، FluencyEvaluator، ، SimilarityEvaluatorF1ScoreEvaluator |
يجمع بين جميع مقيمي الجودة لإخراج واحد من المقاييس المجمعة لأزواج الاستعلام والاستجابة |
ContentSafetyEvaluator |
ViolenceEvaluator، ، SexualEvaluator، SelfHarmEvaluatorHateUnfairnessEvaluator |
يجمع بين جميع مقيمي الأمان لإخراج واحد من المقاييس المجمعة لأزواج الاستعلام والاستجابة |
التقييم المحلي على مجموعات بيانات الاختبار باستخدام evaluate()
بعد التحقق الفوري من المقيمين المضمنين أو المخصصين في صف واحد من البيانات، يمكنك دمج العديد من المقيمين مع evaluate() واجهة برمجة التطبيقات على مجموعة بيانات اختبار بأكملها.
متطلبات أساسية لخطوات إعداد مشاريع مايكروسوفت فاوندري
إذا كانت هذه الجلسة هي المرة الأولى التي تجري فيها تقييمات وتسجلها في project Foundry الخاص بك، فقد تحتاج إلى to do الخطوات التالية للإعداد:
- أنشئ وربط حسابك storage ب project Foundry على مستوى الموارد. يقوم هذا القالب بتوفير وربط حساب storage بمسبك project المصادقة على المفاتيح.
- تأكد من أن حساب Connected storage لديه access لجميع المشاريع.
- إذا ربطت حسابك storage ب Microsoft Entra ID، تأكد من منح صلاحيات Microsoft Identity ل Storage Blob Data Owner لكل من حسابك وFoundry project المورد في Azure portal.
تقييم على مجموعة بيانات وتسجيل النتائج إلى Foundry
للتأكد من evaluate() أن واجهة برمجة التطبيقات يمكنها تحليل البيانات بشكل صحيح، يجب تحديد تعيين العمود لتعيين العمود من مجموعة البيانات إلى الكلمات الرئيسية التي يقبلها المقيمون. يحدد هذا المثال تعيين البيانات ل query، responseو .context
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"
)
نصيحة
احصل على محتويات خاصية result.studio_url لرابط لعرض نتائج التقييم المسجلة في project Foundry الخاص بك.
ينتج عن المقيم قاموس يحتوي على بيانات ومقاييس مجمعة metrics ومستوى الصف. راجع مثال الإخراج التالي:
{'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': {}}
متطلبات evaluate()
تتطلب واجهة برمجة التطبيقات evaluate() تنسيق بيانات محدد وأسماء مفاتيح معلمات المقيم لعرض مخططات نتائج التقييم في project المصنع بشكل صحيح.
تنسيق البيانات
evaluate() تقبل واجهة برمجة التطبيقات البيانات بتنسيق JSONL فقط. بالنسبة لجميع المقيمين المضمنين، evaluate() يتطلب البيانات بالتنسيق التالي مع حقول الإدخال المطلوبة. راجع القسم السابق حول إدخال البيانات المطلوب للمقيمين المضمنين. قصاصة التعليمات البرمجية التالية هي عينة لما يمكن أن يبدو عليه سطر واحد:
{
"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"
}
تنسيق معلمة المقيم
عند إدخال المقيمين المدمجين، حدد تعيين الكلمات المفتاحية الصحيح في قائمة المعلمات evaluators . يوضح الجدول التالي تعيين الكلمات المفتاحية المطلوبة لظهور نتائج المقيمين المدمجين في واجهة المستخدم عند تسجيل الدخول إلى project Foundry الخاص بك.
| Evaluator | معلمة الكلمات الرئيسية |
|---|---|
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" |
فيما يلي مثال على كيفية تعيين evaluators المعلمات:
result = evaluate(
data="data.jsonl",
evaluators={
"sexual":sexual_evaluator,
"self_harm":self_harm_evaluator,
"hate_unfairness":hate_unfairness_evaluator,
"violence":violence_evaluator
}
)
التقييم المحلي على الهدف
إذا كانت لديك قائمة بالاستعلامات التي تريد تشغيلها ثم تقييمها، evaluate() فإن واجهة برمجة التطبيقات تدعم أيضا معلمة target . يرسل هذا المعامل الاستعلامات إلى تطبيق لجمع الإجابات، ثم يقوم المقيمون بتشغيل الاستعلام والرد الناتج.
يمكن أن يكون الهدف أي فئة قابلة للاستدعاء في الدليل الخاص بك. في هذا المثال ، يوجد برنامج نصي askwiki.py Python مع فئة askwiki() قابلة للاستدعاء تم تعيينها كهدف. إذا كانت لديك مجموعة بيانات من الاستعلامات التي يمكنك إرسالها إلى التطبيق البسيط askwiki ، فيمكنك تقييم أساس المخرجات. تأكد من تحديد تعيين العمود المناسب للبيانات في "column_mapping". يمكنك استخدام "default" لتحديد تعيين العمود لجميع المقيمين.
إليك المحتوى في "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}"
}
}
}
)
المحتوى ذو الصلة
- Azure مكتبة عملاء تقييم الذكاء الاصطناعي للغة بايثون
- أستكشاف مشكلات SDK لتقييم الذكاء الاصطناعي وإصلاحها
- قابلية الملاحظة في الذكاء الاصطناعي التوليدي
- تشغيل التقييمات في السحابة باستخدام مجموعة تطوير تطوير Microsoft Foundry
- إنشاء بيانات تركيبية ومحاكاة للتقييم
- راجع نتائج التقييم في بوابة Foundry
- Get started مع Foundry
- Get started مع عينات التقييم