בדף הזה מוסבר איך להריץ הערכות של מודלים גנרטיביים של שפה ושל אפליקציות באמצעות שירות ההערכה של AI גנרטיבי.
לפני שמתחילים
לפני שמריצים הערכות, צריך לוודא שמתקיימות הדרישות המוקדמות הבאות:
התקנה של Agent Platform SDK
כדי להתקין את מודול ההערכה של AI גנרטיבי מ-Agent Platform SDK ל-Python, מריצים את הפקודה הבאה:
!pip install -q google-cloud-aiplatform[evaluation]
מידע נוסף זמין במאמר בנושא התקנת Agent Platform SDK for Python.
אימות של Agent Platform SDK
אחרי שמתקינים את Agent Platform SDK for Python, צריך לבצע אימות. בנושאים הבאים מוסבר איך לבצע אימות באמצעות Agent Platform SDK אם אתם עובדים באופן מקומי או ב-Colaboratory:
אם אתם מפתחים באופן מקומי, אתם צריכים להגדיר את Application Default Credentials (ADC) בסביבה המקומית:
מתקינים את ה-CLI של Google Cloud ומאתחלים אותו באמצעות הפקודה הבאה:
gcloud initיצירת פרטי כניסה לאימות מקומי בחשבון Google:
gcloud auth application-default loginמסך התחברות יוצג לפניכם. אחרי שנכנסים, פרטי הכניסה נשמרים בקובץ פרטי הכניסה המקומי שמשמש את ADC. מידע נוסף זמין במאמר הגדרת ADC לסביבת פיתוח מקומית.
אם אתם עובדים ב-Colaboratory, מריצים את הפקודה הבאה בתא Colab כדי לבצע אימות:
from google.colab import auth auth.authenticate_user()הפקודה הזו פותחת חלון שבו אפשר להשלים את האימות.
הסבר על חשבונות שירות
חשבון השירות משמש את שירות ההערכה של AI גנרטיבי כדי לקבל תחזיות מ-Gemini API ב-Gemini Enterprise Agent Platform למדדי הערכה מבוססי-מודל. חשבון השירות הזה מוקצה באופן אוטומטי בבקשה הראשונה לשירות ההערכה של AI גנרטיבי.
| שם | תיאור | כתובת האימייל | תפקיד |
|---|---|---|---|
| סוכן שירות של Agent Platform Rapid Eval | חשבון השירות שמשמש לקבלת תחזיות להערכה מבוססת-מודל. | service-PROJECT_NUMBER@gcp-sa-vertex-eval.iam.gserviceaccount.com |
roles/aiplatform.rapidevalServiceAgent |
ההרשאות שמשויכות לסוכן השירות של ההערכה המהירה הן:
| תפקיד | הרשאות |
|---|---|
| סוכן שירות של Agent Platform Rapid Eval Service (roles/aiplatform.rapidevalServiceAgent) | aiplatform.endpoints.predict |
הרצת ההערכה
שירות ההערכה של AI גנרטיבי משתמש בתהליך הבא שמבוסס על לקוח כדי להריץ הערכות:
run_inference(): יצירת תגובות מהמודל עבור קבוצה נתונה של הנחיות.
evaluate(): חישוב מדדים של התגובות שנוצרו.
eval_dataset = client.evals.run_inference(
model="gemini-2.5-flash",
src="gs://vertex-evaluation-llm-dataset-us-central1/genai_eval_sdk/test_prompts.jsonl",
)
eval_dataset.show()
eval_result = client.evals.evaluate(
dataset=eval_dataset,
metrics=[
types.RubricMetric.TEXT_QUALITY,
types.RubricMetric.QUESTION_ANSWERING_QUALITY,
types.Metric(name='bleu'),
types.Metric(name='rouge_1'),
]
)
eval_result.show()
כדי לנתח את הביצועים של כמה מודלים או מערכות AI בהערכה אחת, צריך ליצור תשובה לכל מועמד ולהעביר אותן ברשימה לשיטה evaluate():
inference_result_1 = client.evals.run_inference(
model="gemini-2.0-flash",
src=prompts_df,
)
inference_result_2 = client.evals.run_inference(
model="gemini-2.5-flash",
src=prompts_df,
)
# Compare the responses against each other
comparison_result = client.evals.evaluate(
dataset=[inference_result_1, inference_result_2],
metrics=[
types.RubricMetric.TEXT_QUALITY,
types.RubricMetric.INSTRUCTION_FOLLOWING,
]
)
comparison_result.show()
בדיקה של קריטריוני הערכה שנוצרו או שימוש חוזר בהם
כדי ליצור מראש קריטריונים דינמיים ולבדוק אותם לפני ההערכה, או כדי לעשות שימוש חוזר בקריטריונים שנוצרו בעבר, משתמשים בקוד הבא:
# Step 1. Generate rubrics
# Rubrics would be saved in a group named "general_quality_rubrics".
data_with_rubrics = client.evals.generate_rubrics(
src=prompts_df,
rubric_group_name="general_quality_rubrics",
predefined_spec_name=types.RubricMetric.GENERAL_QUALITY,
)
# Step 2. Run Inference
eval_dataset = client.evals.run_inference(
model=inference_model,
src=data_with_rubrics,
)
# Step 3. Evaluate with provided rubrics
# The group of rubric named "general_quality_rubrics" will be used for evaluation.
eval_result = client.evals.evaluate(
dataset=eval_dataset,
metrics=[types.RubricMetric.GENERAL_QUALITY(
rubric_group_name="general_quality_rubrics",
)],
)
generate_rubrics(): יצירת קריטריונים להערכה עם תהליך עבודה מוגדר מראש שמשויך למדד.
run_inference(): יצירת תגובות מהמודל עבור קבוצה נתונה של הנחיות.
evaluate(): אימות תשובות על סמך קריטריונים שסופקו.
הערכה אסינכרונית בקנה מידה גדול
למערכי נתונים גדולים, שירות ההערכה של AI גנרטיבי מספק שיטה אסינכרונית להערכת קבוצות (batch) שפועלת לאורך זמן. האפשרות הזו מתאימה לתרחישים שבהם לא נדרשות תוצאות מיידיות ורוצים להעביר את החישוב למקום אחר.
השיטה batch_evaluate() מחזירה אובייקט פעולה שאפשר לדגום כדי לעקוב אחרי ההתקדמות שלו. הפרמטרים תואמים לשיטה evaluate().
GCS_DEST_BUCKET = "gs://your-gcs-bucket/batch_eval_results/"
inference_result_saved = client.evals.run_inference(
model="gemini-2.5-flash",
src=prompts_df,
config={'dest': GCS_DEST_BUCKET}
)
print(f"Eval dataset uploaded to: {inference_result_saved.gcs_source}")
batch_eval_job = client.evals.batch_evaluate(
dataset = inference_result_saved,
metrics = [
types.RubricMetric.FLUENCY,
types.RubricMetric.COHERENCE,
types.Metric(name='rouge_1'),
types.Metric(name='bleu'),
],
dest=GCS_DEST_BUCKET
)
הערכת מודלים של צד שלישי
אתם יכולים להשתמש בשירות ההערכה של AI גנרטיבי כדי להעריך ולהשוות בין מודלים מספקים כמו OpenAI. לשם כך, צריך להעביר את מחרוזת שם המודל לשיטה run_inference. שירות ההערכה של AI גנרטיבי משתמש בספרייה litellm כדי לקרוא לממשק API של המודל.
חשוב להגדיר את מפתח ה-API הנדרש כמשתנה סביבה (למשל, OPENAI_API_KEY):
import os
# Set your third-party model API key
os.environ['OPENAI_API_KEY'] = 'YOUR_OPENAI_API_KEY'
# Run inference on an OpenAI model
gpt_response = client.evals.run_inference(
model='gpt-4o',
src=prompt_df
)
# You can now evaluate the responses
eval_result = client.evals.evaluate(
dataset=gpt_response,
metrics=[types.RubricMetric.TEXT_QUALITY]
)
eval_result.show()