הערכת סוכנים שנוצרו באמצעות Managed Agents API ב-Agent Platform

בדף הזה מוסבר איך להעריך סוכנים שנוצרו באמצעות Managed Agents API ב-Agent Platform, בעזרת שירות ההערכה של AI גנרטיבי. אתם יכולים ליצור תרחישי בדיקה סינתטיים, להריץ את הנציג מולם ולדרג את עקבות השיחה שנוצרו באמצעות מדדים מובנים מראש.

לפני שמתחילים

  1. פועלים לפי ההוראות שבמאמר יצירה וניהול של סוכנים כדי ליצור משאב של סוכן מנוהל.

  2. מתקינים את Agent Platform SDK עם תוסף ההערכה:

    pip install google-cloud-aiplatform[evaluation]
    
  3. מגדירים את האימות ואת הפרויקט:

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
    import agentplatform
    
    client = agentplatform.Client(
        project="PROJECT_ID",
        location="global",
    )
    

תהליך עבודה של הערכה

הערכת נציג מנוהל כוללת שלושה שלבים:

  1. יצירת תרחישים: יצירה אוטומטית של תרחישי בדיקה מגוונים עם כמה שלבים, על סמך ההוראות וההגדרות של הכלים של הנציג.
  2. הרצת הסקה: מריצים את הנציג על התרחישים שנוצרו כדי לתעד את עקבות השיחה.
  3. הערכה: דירוג של עקבות השיחה באמצעות מדדים מובנים מראש.

שלב 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()

ה-method‏ show() מציגה דוח אינטראקטיבי עם ציונים מצטברים, הסברים לכל מקרה ונתוני מעקב אחרי השיחות של הנציג, כולל הטופולוגיה של המערכת (הכלים וההוראות של הנציג).

בדיקת האינטראקציות הקיימות

אתם יכולים גם להעריך אינטראקציות שכבר הוקלטו עם הנציג. הנתונים האלה עוזרים להעריך את איכות השיחות בסביבת הייצור. במאמר שליחת אינטראקציה לסוכן בהתאמה אישית מוסבר איך שולחים אינטראקציה לסוכן ואיך מאחזרים את הערך של 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.

מדריך

איך לתקשר עם נציגים בזמן הריצה, לנהל את מצב הסשן ולשנות הגדרות באופן דינמי.

סקירה כללית

מידע על הערכת תפקוד הסוכנים ב-Google Agent Platform.

מדריך

איך מנהלים מדדי הערכה ב-Google Agent Platform.