בדף הזה מוסבר איך להעריך סוכנים שנוצרו באמצעות Managed Agents API ב-Agent Platform באמצעות שירות ההערכה של AI גנרטיבי. אתם יכולים ליצור תרחישי בדיקה סינתטיים, להריץ את הנציג מול התרחישים האלה ולתת ציון לתוצאות של עקבות השיחה באמצעות מדדים מוכנים מראש.
לפני שמתחילים
פועלים לפי השלבים במאמר יצירה וניהול של סוכנים כדי ליצור משאב של סוכן מנוהל.
מתקינים את Agent Platform SDK עם תוסף ההערכה:
pip install google-cloud-aiplatform[evaluation]מגדירים אימות ומגדירים את הפרויקט:
מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance by S3NS .
import agentplatform client = agentplatform.Client( project="PROJECT_ID", location="global", )
תהליך העבודה של ההערכה
הערכה של סוכן מנוהל מתבצעת בשלושה שלבים:
- יצירת תרחישים: יצירת תרחישי בדיקה מגוונים ורב-שלביים באופן אוטומטי, על סמך ההוראות והגדרות הכלים של הסוכן.
- הפעלת הסקה: הפעלת הסוכן מול התרחישים שנוצרו כדי לתעד את עקבות השיחה.
- הערכה: מתן ציון למעקב אחר השיחות באמצעות מדדים מובנים מראש.
שלב 1: יצירת תרחישי שיחה
אפשר להשתמש ב-generate_conversation_scenarios כדי ליצור באופן אוטומטי תרחישי בדיקה על סמך ההגדרות של הסוכן. השיטה קוראת את ההוראות למערכת ואת הכלים של הנציג כדי ליצור הנחיות ריאליסטיות למשתמשים.
מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance by S3NS .
- 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: מזהה הפרויקט ב- Cloud de Confiance by S3NS .
- 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.
אינטראקציה עם סוכנים
איך מתקשרים עם סוכנים בזמן ריצה, מנהלים את מצב הסשן ומבטלים באופן דינמי את ההגדרות