פתרון בעיות בשימוש בסוכן עם Agent Runtime

במאמר הזה מוסבר איך לפתור שגיאות שעלולות להתרחש כשמשתמשים בנציג.

הערה: כדי לחפש ולסנן את יומני השגיאות של הסוכן, משתמשים ב-Logs Explorer, בוחרים את RESOURCE TYPE ל-Vertex AI מנוע חשיבה רציונלית ובוחרים את הערך המתאים של RESOURCE CONTAINER (כלומר מספר הפרויקט) ואת הערך של REASONING ENGINE ID.

סכימות הפעולות ריקות

אם הנציג מחזיר רשימה ריקה מ-.operation_schemas(), יכול להיות שהסיבה לכך היא אחת מהבעיות הבאות:

הסכימה לא נוצרה במהלך יצירת הסוכן

הבעיה:

כשפורסים את הנציג, מקבלים אזהרה שדומה לזו:

WARNING:vertexai.agent_engines:failed to generate schema: issubclass() arg 1 must be a class

סיבה אפשרית:

האזהרה הזו יכולה להופיע אם פורסים נציג באמצעות התבנית המוכנה מראש של LangchainAgent בגרסה של google-cloud-aiplatform שקודמת ל-1.49.0. כדי לבדוק באיזו גרסה אתם משתמשים, מריצים את הפקודה הבאה במסוף:

pip show google-cloud-aiplatform

פתרון מומלץ:

כדי לעדכן את החבילה של google-cloud-aiplatform, מריצים את הפקודה הבאה בטרמינל:

pip install google-cloud-aiplatform --upgrade

אחרי שמעדכנים את החבילה google-cloud-aiplatform, מריצים את הפקודה הבאה כדי לוודא שהגרסה שלה היא 1.49.0 או גרסה מאוחרת יותר:

pip show google-cloud-aiplatform

אם אתם משתמשים במכונה של Notebook (לדוגמה, Jupyter,‏ Colab או Workbench), יכול להיות שתצטרכו להפעיל מחדש את סביבת זמן הריצה כדי להשתמש בחבילה המעודכנת. אחרי שמוודאים שגרסת google-cloud-aiplatform היא 1.49.0 או גרסה עדכנית יותר, מנסים לפרוס את הסוכן שוב.

שגיאת PermissionDenied בשליחת שאילתה לסוכן

אם אין לכם את ההרשאות הנדרשות, יכול להיות שהשאילתה תיכשל.

הרשאות לתוספים של Vertex AI

הבעיה

יכול להיות שתקבלו שגיאת PermissionDenied שדומה לזו:

Permission 'aiplatform.extensions.get' denied on resource
'//aiplatform.googleapis.com/projects/{PROJECT_ID}/locations/{LOCATION}/extensions/
{EXTENSION}' (or it may not exist). [reason: "IAM_PERMISSION_DENIED"
domain: "aiplatform.googleapis.com"
metadata {
  key: "permission"
  value: "aiplatform.extensions.get"
}
metadata {
  key: "resource"
  value: "projects/{PROJECT_ID}/locations/{LOCATION}/extensions/{EXTENSION}"
}
]

לנציג שלכם אין את ההרשאות לתוספים של Vertex AI. כדי להשתמש בתוספים של Vertex AI עם Agent Runtime, צריך להקצות את התפקיד "משתמש ב-Vertex AI" (roles/aiplatform.user) לחשבון השירות של זהות הסוכן. מידע נוסף מופיע במאמר הגדרת הזהות וההרשאות של הנציג.

הרשאות של LLM

הבעיה:

יכול להיות שתקבלו שגיאת PermissionDenied שדומה לזו:

PermissionDenied: 403 Permission 'aiplatform.endpoints.predict' denied on resource
'//aiplatform.googleapis.com/projects/{PROJECT_ID}/locations/{LOCATION}/publishers/
google/models/{MODEL}' (or it may not exist). [reason: "IAM_PERMISSION_DENIED"
domain: "aiplatform.googleapis.com"
metadata {
  key: "permission"
  value: "aiplatform.endpoints.predict"
}
metadata {
  key: "resource"
  value: "projects/{PROJECT_ID}/locations/{LOCATION}/publishers/google/models/{MODEL}"
}
]

סיבה אפשרית:

יכול להיות שלחשבון השירות של זהות הנציג אין את ההרשאות המתאימות לשליחת שאילתות למודל השפה הגדול (LLM).

פתרון מומלץ:

מוודאים שלחשבון השירות יש את ההרשאות המתאימות לניהול זהויות והרשאות גישה (IAM) שמופיעות בהודעת השגיאה. דוגמה להרשאת IAM שיכול להיות שחסרה לכם: aiplatform.endpoints.predict. מידע נוסף מופיע במאמר הגדרת הזהות וההרשאות של הנציג.

ההרצה של מנוע חשיבה רציונלית נכשלה

אם מופיעה הודעת השגיאה "Reasoning Engine Execution failed" כששולחים שאילתה לנציג, יכול להיות שהסיבה היא אחת מהבעיות שמתוארות בקטע הזה.

הנתונים שהוזנו ב-.query() לא תקינים

הבעיה:

יכול להיות שתקבלו שגיאת FailedPrecondition שדומה לזו:

FailedPrecondition: 400 Reasoning Engine Execution failed. Error Details:
{"detail":"Invalid request: `{'query': ...}`"}

סיבה אפשרית:

השגיאה הזו מתרחשת כשמציינים את הקלט של השאילתה כארגומנטים לפי מיקום במקום כארגומנטים של מילות מפתח. לדוגמה, אתם קוראים ל-agent.query(query_str) במקום ל-agent.query(input=query_str).

פתרון מומלץ:

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

חריגה ממכסת השימוש במודל Gemini

הבעיה:

יכול להיות שתקבלו הודעת שגיאה שדומה לאחת מההודעות הבאות, שמציינת שהשגיאה נובעת מהקריאה ל-Gemini:

FailedPrecondition: 400 Reasoning Engine Execution failed. Error Details:
{"detail":"...langchain_google_vertexai/chat_models.py...google.api_core.exceptions.ResourceExhausted: 429 Unable to submit request because the service is temporarily out of capacity. Try again later."}

או הודעת שגיאה אחרת:

FailedPrecondition: 400 Reasoning Engine Execution failed. Error Details:
{"detail":"...langchain_google_vertexai/chat_models.py...google.api_core.exceptions.InternalServerError: 500 Internal error occurred."}

סיבה אפשרית:

זה יכול לקרות אם שלחתם יותר מדי בקשות לאחרונה וניצלתם את המכסה של מודל Gemini.

פתרון מומלץ:

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

מזהה שגוי של מנוע החשיבה הרציונלית

הבעיה:

יכול להיות שתופיע הודעת השגיאה "Reasoning Engine Execution failed" עם הפרטים Not Found.

סיבה אפשרית:

השגיאה הזו יכולה לקרות אם משתמשים במזהה שגוי של מנוע החשיבה הרציונלית כששולחים שאילתה לסוכן.

פתרון מומלץ:

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

משאבי תמיכה

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