إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
المشاهدة الحالية:نسخة - البوابة (الكلاسيكية) من Foundryالتحويل إلى النسخة الخاصة ببوابة Foundry الجديدة
مهم
العناصر التي تم وضع علامة عليها (إصدار أولي) في هذه المقالة موجودة حالياً في الإصدار الأولي العام. يتم توفير هذه المعاينة دون اتفاقية على مستوى الخدمة، ولا نوصي بها لأحمال عمل الإنتاج. بعض الميزات ربما لا تكون مدعمة أو بها بعض القدرات المقيدة. لمزيد من المعلومات، راجع شروط الاستخدام الإضافية لمعاينات مايكروسوفت Azure.
في هذا المقال، تتعلم كيفية تشغيل التقييمات في السحابة (معاينة) لاختبار ما قبل النشر على مجموعة بيانات اختبار. يتيح لك حزمة Azure AI Evaluation لإجراء التقييمات محليا على جهازك وفي السحابة. على سبيل المثال، قم بإجراء تقييمات محلية على بيانات اختبار صغيرة لتقييم نماذج تطبيقات الذكاء الاصطناعي التوليدي الخاصة بك، ثم انتقل إلى اختبارات ما قبل النشر لإجراء التقييمات على مجموعة بيانات كبيرة.
استخدم تقييمات السحابة لمعظم السيناريوهات — خاصة عند الاختبار على نطاق واسع، أو دمج التقييمات في pipelines التكامل المستمر والتسليم المستمر (CI/CD)، أو إجراء اختبارات ما قبل النشر. يؤدي إجراء التقييمات في السحابة إلى إلغاء الحاجة لإدارة البنية التحتية المحلية للحوسبة ويدعم سير عمل الاختبار الآلي واسع النطاق. بعد النشر، يمكنك اختيار تقييم وكلائك باستمرار لمراقبة ما بعد النشر.
عندما تستخدم حزمة تطوير Foundry، تقوم بتسجيل نتائج التقييم في project Foundry الخاص بك لتحسين الملاحظة. تدعم هذه الميزة جميع المقيمين المدمجين الذين تختارهم مايكروسوفت. ومقيمو التقييم المخصصين لديكم. يمكن أن يكون مقيموك موجودين في مكتبة المقيمين ولديهم نفس access control الدور project.
المتطلبات المسبقه
- Foundry project.
- نشر Azure OpenAI مع نموذج GPT يدعم إكمال الدردشة (على سبيل المثال،
gpt-5-mini). - Azure مستخدم الذكاء الاصطناعي في project Foundry.
- اختياريا، يمكنك استخدام حسابك storage الخاص لإجراء التقييمات.
ملاحظة
بعض ميزات التقييم لها قيود إقليمية. راجع المناطق المدعومة لمزيد من التفاصيل.
Get started
تثبيت عميل Microsoft Foundry SDK project لتشغيل التقييمات في السحابة:
pip install azure-ai-projects azure-identityحدد متغيرات البيئة لموارد Foundry الخاصة بك:
import os # Required environment variables: endpoint = os.environ["PROJECT_ENDPOINT"] # https://<account>.services.ai.azure.com/api/projects/<project> model_endpoint = os.environ["MODEL_ENDPOINT"] # https://<account>.services.ai.azure.com model_api_key = os.environ["MODEL_API_KEY"] model_deployment_name = os.environ["MODEL_DEPLOYMENT_NAME"] # E.g. gpt-5-mini # Optional: Reuse an existing dataset. dataset_name = os.environ.get("DATASET_NAME", "dataset-test") dataset_version = os.environ.get("DATASET_VERSION", "1.0")تعريف عميل لتشغيل التقييمات في السحابة:
import os from azure.identity import DefaultAzureCredential from azure.ai.projects import AIProjectClient # Create the project client (Foundry project and credentials): project_client = AIProjectClient( endpoint=endpoint, credential=DefaultAzureCredential(), )
تحضير بيانات الإدخال
# 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
لمعرفة المزيد عن صيغ بيانات الإدخال لتقييم تطبيقات الذكاء الاصطناعي التوليدي، انظر:
لمعرفة المزيد عن صيغ بيانات الإدخال لتقييم الوكلاء، راجع تقييم وكلاء الذكاء الاصطناعي Azure و تقييم الوكلاء الآخرين.
تحديد المقيمين
from azure.ai.projects.models import (
EvaluatorConfiguration,
EvaluatorIds,
)
# Built-in evaluator configurations:
evaluators = {
"relevance": EvaluatorConfiguration(
id=EvaluatorIds.RELEVANCE.value,
init_params={"deployment_name": model_deployment_name},
data_mapping={
"query": "${data.query}",
"response": "${data.response}",
},
),
"violence": EvaluatorConfiguration(
id=EvaluatorIds.VIOLENCE.value,
init_params={"azure_ai_project": endpoint},
),
"bleu_score": EvaluatorConfiguration(
id=EvaluatorIds.BLEU_SCORE.value,
),
}
إنشاء تقييم
وأخيرا، أرسل تشغيل التقييم عن بعد:
from azure.ai.projects.models import (
Evaluation,
InputDataset
)
# Create an evaluation with the dataset and evaluators specified.
evaluation = Evaluation(
display_name="Cloud evaluation",
description="Evaluation of dataset",
data=InputDataset(id=data_id),
evaluators=evaluators,
)
# Run the evaluation.
evaluation_response = project_client.evaluations.create(
evaluation,
headers={
"model-endpoint": model_endpoint,
"api-key": model_api_key,
},
)
print("Created evaluation:", evaluation_response.name)
print("Status:", evaluation_response.status)
تحديد مقيمين مخصصين
ملاحظة
مشاريع Foundry غير مدعومة لهذه الميزة. استخدم project Hub في Foundry بدلا من ذلك.
المقيمون المخصصون المستندون إلى التعليمات البرمجية
سجل المقيمين المخصصين في project Azure AI Hub وجلب معرفات التقييم:
from azure.ai.ml import MLClient
from azure.ai.ml.entities import Model
from promptflow.client import PFClient
# Define ml_client to register the custom evaluator.
ml_client = MLClient(
subscription_id=os.environ["AZURE_SUBSCRIPTION_ID"],
resource_group_name=os.environ["AZURE_RESOURCE_GROUP"],
workspace_name=os.environ["AZURE_PROJECT_NAME"],
credential=DefaultAzureCredential()
)
# Load the evaluator from the module.
from answer_len.answer_length import AnswerLengthEvaluator
# Convert it to an evaluation flow, and save it locally.
pf_client = PFClient()
local_path = "answer_len_local"
pf_client.flows.save(entry=AnswerLengthEvaluator, path=local_path)
# Specify the evaluator name that appears in the evaluator catalog.
evaluator_name = "AnswerLenEvaluator"
# Register the evaluator to the evaluator catalog.
custom_evaluator = Model(
path=local_path,
name=evaluator_name,
description="Evaluator calculating answer length.",
)
registered_evaluator = ml_client.evaluators.create_or_update(custom_evaluator)
print("Registered evaluator id:", registered_evaluator.id)
# Registered evaluators have versioning. You can always reference any version available.
versioned_evaluator = ml_client.evaluators.get(evaluator_name, version=1)
print("Versioned evaluator id:", registered_evaluator.id)
بعد تسجيل المقيم المخصص الخاص بك، شاهده في كتالوج المقيم الخاص بك. في project Foundry الخاص بك، اختر Evaluation، ثم اختر Evaluator Catalog.
المقيمون المخصصون المستندون إلى المطالبة
استخدم هذا المثال لتسجيل مبني مخصص FriendlinessEvaluator كما هو موضح في المقيمين المعتمدين على التوجيه:
# Import your prompt-based custom evaluator.
from friendliness.friend import FriendlinessEvaluator
# Define your deployment.
model_config = dict(
azure_endpoint=os.environ.get("AZURE_ENDPOINT"),
azure_deployment=os.environ.get("AZURE_DEPLOYMENT_NAME"),
api_version=os.environ.get("AZURE_API_VERSION"),
api_key=os.environ.get("AZURE_API_KEY"),
type="azure_openai"
)
# Define ml_client to register the custom evaluator.
ml_client = MLClient(
subscription_id=os.environ["AZURE_SUBSCRIPTION_ID"],
resource_group_name=os.environ["AZURE_RESOURCE_GROUP"],
workspace_name=os.environ["AZURE_PROJECT_NAME"],
credential=DefaultAzureCredential()
)
# # Convert the evaluator to evaluation flow and save it locally.
local_path = "friendliness_local"
pf_client = PFClient()
pf_client.flows.save(entry=FriendlinessEvaluator, path=local_path)
# Specify the evaluator name that appears in the evaluator catalog.
evaluator_name = "FriendlinessEvaluator"
# Register the evaluator to the evaluator catalog.
custom_evaluator = Model(
path=local_path,
name=evaluator_name,
description="prompt-based evaluator measuring response friendliness.",
)
registered_evaluator = ml_client.evaluators.create_or_update(custom_evaluator)
print("Registered evaluator id:", registered_evaluator.id)
# Registered evaluators have versioning. You can always reference any version available.
versioned_evaluator = ml_client.evaluators.get(evaluator_name, version=1)
print("Versioned evaluator id:", registered_evaluator.id)
بعد تسجيل المقيم المخصص الخاص بك، يمكنك مشاهدته في كتالوج المقيم الخاص بك. في project Foundry الخاص بك، اختر Evaluation، ثم اختر Evaluator Catalog.