בדף הזה מוסבר איך להעריך סוכנים שנוצרו באמצעות Managed Agents API ב-Agent Platform באמצעות שירות ההערכה של AI גנרטיבי. אתם יכולים ליצור תרחישי בדיקה סינתטיים, להריץ את הסוכן שלכם מולם התרחישים האלה ולתת ציון לתוצאות של עקבות השיחה באמצעות מדדים מוכנים מראש.
לפני שמתחילים
פועלים לפי השלבים במאמר יצירה וניהול של סוכנים כדי ליצור משאב של סוכן מנוהל.
מתקינים את Agent Platform SDK עם תוסף ההערכה:
pip install google-cloud-aiplatform[evaluation]מגדירים אימות ומגדירים את הפרויקט:
מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
import agentplatform client = agentplatform.Client( project="PROJECT_ID", location="global", )
תהליך עבודה של הערכה
הערכה של סוכן מנוהל מתבצעת בשלושה שלבים:
- יצירת תרחישים: יצירת תרחישי בדיקה מגוונים ורב-שלביים באופן אוטומטי, על סמך ההוראות והגדרות הכלים של הסוכן.
- הפעלת הסקה: הפעלת הסוכן מול התרחישים שנוצרו כדי לתעד את עקבות השיחה.
- הערכה: מקבלים ציון של עקבות השיחה באמצעות מדדים מובנים מראש.
שלב 1: יצירת תרחישי שיחה
אפשר להשתמש ב-generate_conversation_scenarios כדי ליצור באופן אוטומטי תרחישי בדיקה על סמך ההגדרות של הסוכן. השיטה קוראת את ההוראות למערכת ואת הכלים של הנציג כדי ליצור הנחיות ריאליסטיות למשתמשים.
מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- AGENT_ID: המזהה של משאב הסוכן. למידע נוסף על אחזור או הצגה של סוכנים מותאמים אישית כדי למצוא את המזהים שלהם, אפשר לעיין במאמר בנושא הצגת סוכנים.
AGENT_RESOURCE = f"projects/PROJECT_ID/locations/global/agents/AGENT_ID"
scenarios = client.evals.generate_conversation_scenarios(
agent=AGENT_RESOURCE,
config={
"count": 5,
"generation_instruction": "Generate scenarios where a user asks for a refund.",
},
)
scenarios.show()
כל תרחיש שנוצר כולל starting_prompt שמייצג את ההודעה הראשונית של המשתמש בשיחה.
שלב 2: הפעלת הסקה
משתמשים ב-run_inference כדי להריץ את הסוכן מול התרחישים שנוצרו.
הסוכן מריץ כל תרחיש ומפיק מעקב שיחה שמתעד את האינטראקציה המלאה, כולל קריאות לכלים, שלבים ביניים והתשובה הסופית.
inference_results = client.evals.run_inference(
agent=AGENT_RESOURCE,
src=scenarios,
config={"user_simulator_config": {"max_turn": 5}}
)
inference_results.show()
שלב 3: הערכה
אפשר להשתמש ב-evaluate כדי לתת ציון למעקב אחר השיחות באמצעות מדדים מוכנים מראש.
המדדים הבאים זמינים להערכת נציגים:
| מדד | תיאור |
|---|---|
final_response_quality_v1 |
הערכה אם הסוכן השלים בהצלחה את המשימה של המשתמש. |
safety_v1 |
הפונקציה בודקת אם התשובות של הסוכן בטוחות. |
multi_turn_task_success_v1 |
הערכה אם הסוכן השלים בהצלחה את המשימה הרב-שלבית של המשתמש. |
from agentplatform import types
eval_result = client.evals.evaluate(
dataset=inference_results,
metrics=[
types.RubricMetric.MULTI_TURN_TASK_SUCCESS,
],
agent=AGENT_RESOURCE,
)
eval_result.show()
השיטה show() מציגה דוח אינטראקטיבי עם ציונים מצטברים, נימוקים לכל מקרה ועקבות של השיחה עם הסוכן, כולל טופולוגיית המערכת (הוראות וכלי סוכן).
הערכת אינטראקציות קיימות
אפשר גם להעריך אינטראקציות שכבר תועדו עם הנציג. המידע הזה שימושי להערכת האיכות של שיחות עם Gemini. במאמר שליחת אינטראקציה לנציג מותאם אישית מוסבר איך שולחים אינטראקציה לנציג ואיך מאחזרים את מזהה האינטראקציה (interaction_id).
מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- INTERACTION_ID: המזהה של אינטראקציה מוקלטת.
- AGENT_RESOURCE: שם המשאב המלא של הסוכן, בפורמט
projects/PROJECT_ID/locations/global/agents/AGENT_ID.
interactions_dataset = types.EvaluationDataset(
eval_cases=[
types.EvalCase(
interactions_data_source=types.InteractionsDataSource(
interaction=f"projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID",
gemini_agent_config=types.GeminiAgentConfig(
gemini_agent=AGENT_RESOURCE,
),
),
),
]
)
eval_result = client.evals.evaluate(
dataset=interactions_dataset,
metrics=[
types.RubricMetric.MULTI_TURN_TASK_SUCCESS,
],
agent=AGENT_RESOURCE,
)
eval_result.show()
המאמרים הבאים
יצירה וניהול של סוכנים
במאמר הזה מוסבר איך ליצור, לעדכן, להציג, לקבל ולמחוק סוכנים באמצעות ה-API בארכיטקטורת REST.
אינטראקציה עם סוכנים
במאמר הזה מוסבר איך ליצור אינטראקציה עם סוכנים בזמן ריצה, לנהל את מצב הסשן ולשנות הגדרות באופן דינמי.