בדף הזה מוסבר איך להריץ הערכות למודלים ולאפליקציות של שפה גנרטיבית באמצעות שירות ההערכה של Gen AI.
לפני שמתחילים
לפני שמריצים הערכות, צריך לבצע את הפעולות הבאות:
התקנת Agent Platform SDK
כדי להתקין את מודול AI גנרטיבי Evaluation מ-Agent Platform SDK ל-Python, מריצים את הפקודה הבאה:
!pip install -q google-cloud-aiplatform[evaluation]
מידע נוסף מופיע במאמר התקנת Agent Platform SDK לפייתון.
אימות ה-SDK של Agent Platform
אחרי שמתקינים את 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. |
roles/aiplatform.rapidevalServiceAgent |
ההרשאות שמשויכות לסוכן השירות של ההערכה המהירה הן:
| תפקיד | הרשאות |
|---|---|
סוכן השירות של Vertex AI Rapid Eval (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 או מערכות בהערכה אחת, יוצרים תשובה לכל מועמד ומעבירים אותם ברשימה ל-method 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 גנרטיבי מספק שיטת הערכה אסינכרונית של אצווה לטווח ארוך. האפשרות הזו מתאימה לתרחישים שבהם אתם לא צריכים תוצאות מיידיות ורוצים להעביר את החישוב למקום אחר.
ה-method 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, על ידי העברת מחרוזת שם המודל ל-method 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()