כל ארגז חול מגובה על ידי תבנית של סביבת ארגז חול, שמתארת את קובץ האימג' של הקונטיינר להרצה. תבניות של ארגז חול משמשות כתוכניות בסיס לארגזי חול מותאמים אישית של קונטיינרים. בדף הזה נדגים איך לנהל את מחזור החיים של תבניות ארגז חול באמצעות Agent Platform SDK. אתם יכולים לראות רשימה של התבניות הקיימות, לצפות בפרטים שלהן או למחוק אותן כשאין בהן יותר צורך.
כדי לשנות את ההגדרה של תבנית (למשל, לשנות את קובץ אימג' של קונטיינר), צריך למחוק את התבנית הקיימת וליצור תבנית חדשה עם ההגדרה המעודכנת.
לפני שמתחילים
כדי לנהל תבניות של ארגז חול, צריך את התפקידים הבאים בפרויקט:
- משתמש ב-Agent Platform (
roles/aiplatform.user)
שימוש חוזר בתבניות בסביבות ארגז חול שונות
בארגזי חול לשימוש במחשב ובארגזי חול של Shell, אם לא מציינים תבנית, נוצרת תבנית ברירת המחדל (DEFAULT_CONTAINER_CATEGORY_COMPUTER_USE או DEFAULT_CONTAINER_CATEGORY_SHELL_SANDBOX) לארגז החול.
תבנית חדשה נוצרת במהלך כל קריאה של create() שלא מציינת שם של תבנית. מחיקת ארגז החול לא מוחקת את התבנית, ולכן צריך למחוק את התבניות בנפרד. אם אתם יוצרים הרבה ארגזי חול, מומלץ לעשות שימוש חוזר בתבניות כדי לחסוך במשאבים.
כדי ליצור תבנית:
from agentplatform._genai import types
template_op = client.agent_engines.sandboxes.templates.create(
name=instance_name,
display_name="shell-sandbox-template",
config=types.CreateSandboxEnvironmentTemplateConfig(
default_container_environment=types.SandboxEnvironmentTemplateDefaultContainerEnvironment(
default_container_category=types.DefaultContainerCategory.DEFAULT_CONTAINER_CATEGORY_SHELL_SANDBOX,
),
),
)
template = template_op.response.name
משייכים כל ארגז חול לתבנית על ידי הגדרת sandbox_environment_template:
operation = client.sandboxes.create(
name=instance_name,
spec={"shell_environment": {}},
config={
"sandbox_environment_template": template,
"wait_for_completion": True,
},
)
תבניות של רשימות
כדי להציג רשימה של כל תבניות ארגז החול שמשויכות למופע של Agent Platform:
import agentplatform
client = agentplatform.Client(project='PROJECT_ID', location='LOCATION')
instance_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID'
templates_response = client.sandboxes.templates.list(name=instance_name)
for template in templates_response.sandbox_environment_templates:
print(template.name)
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance . -
LOCATION: האזור Cloud de Confiance של מופע Agent Platform. אזורים נתמכים -
INSTANCE_ID: מזהה המופע של Agent Platform.
הצגת פרטי התבנית
כדי לראות את ההגדרות של תבנית ספציפית של ארגז חול:
template_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID/SandboxEnvironmentTemplate/TEMPLATE_ID'
template = client.sandboxes.templates.get(name=template_name)
print(template)
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance . -
LOCATION: האזור Cloud de Confiance של מופע Agent Platform. אזורים נתמכים -
INSTANCE_ID: מזהה המופע של Agent Platform שמכיל את תבנית הסביבה שלכם. -
TEMPLATE_ID: מזהה תבנית ארגז החול.
הצגת התבנית של ארגז חול
כדי לראות את תבנית הסביבת ארגז חול שמשויכת לסביבת ארגז חול, מריצים את הפקודה הבאה:
print(sandbox.sandbox_environment_template)
מחיקת תבנית
כדי למחוק תבנית של ארגז חול:
client.sandboxes.templates.delete(name=template_name)
print("Template deleted.")