במדריך הזה מוסבר איך למחוק את הפתרון ההתחלתי "מאגר ידע של AI גנרטיבי". במדריך הזה מוסבר איך למחוק פריסה קיימת של הפתרון.
עלות
כדי להעריך את עלות המשאבים של Google Cloud שמשמשים את הפתרון של מאגר הידע של ה-AI הגנרטיבי, תוכלו להיעזר בהערכה שחושבה מראש במחשבון העלויות שלGoogle Cloud .
אפשר להשתמש בהערכה כנקודת התחלה לחישוב העלות של הפריסה. אפשר לשנות את האומדן כדי לשקף את השינויים שביצעתם בהגדרות של המשאבים שבהם אתם משתמשים בפתרון.
האומדן המחושב מראש מבוסס על הנחות לגבי גורמים מסוימים, כולל:
- המיקומים ב- Google Cloud שבהם המשאבים נפרסים.
- משך הזמן שבו נעשה שימוש במשאבים.
אתם יכולים גם לבדוק את עלויות השימוש במשאבים שפרסתם. למידע נוסף, קראו את המאמר הצגת דוחות החיוב ב-Cloud ומגמות של עלויות.
- כמות הנתונים שמאוחסנים ב-Cloud Storage.
- מספר הפעמים שהאפליקציה של מאגר הידע הופעלה.
- משאבי המחשוב שמשמשים לכוונון המודל.
קבלת הרשאות ה-IAM הנדרשות
כדי למחוק פריסה קיימת, צריך את ההרשאות לניהול זהויות והרשאות גישה (IAM) שמפורטות בטבלה הבאה. אם יש לכם את התפקיד הבסיסי roles/owner בפרויקט שבו הפתרון פרוס, כבר יש לכם את כל ההרשאות הנדרשות. אם אין לכם את התפקיד roles/owner, בקשו מהאדמין לתת לכם את ההרשאות האלה (או את התפקידים שכוללים את ההרשאות האלה).
| הרשאת IAM נדרשת | תפקיד מוגדר מראש שכולל את ההרשאות הנדרשות |
|---|---|
|
אדמין של שימוש בשירות ( roles/serviceusage.serviceUsageAdmin) |
|
אדמין בחשבון שירות ( roles/iam.serviceAccountAdmin) |
|
אדמין IAM בפרויקט ( roles/resourcemanager.projectIamAdmin) |
config.deployments.createconfig.deployments.list |
אדמין של Cloud Infrastructure Manager ( roles/config.admin) |
נוצר חשבון שירות לפתרון
כשמתחילים את תהליך המחיקה דרך המסוף, נוצר חשבון שירות כדי לפרוס את הפתרון בשבילכם (ולמחוק את הפריסה מאוחר יותר, אם תרצו). לחשבון השירות הזה מוקצות הרשאות IAM מסוימות באופן זמני. כלומר, ההרשאות מבוטלות באופן אוטומטי אחרי השלמת הפריסה של הפתרון ופעולות המחיקה. Google ממליצה למחוק את חשבון השירות אחרי שמוחקים את הפריסה, כמו שמתואר בהמשך המדריך.
צפייה בתפקידים שמוקצים לחשבון השירות
התפקידים האלה מפורטים כאן למקרה שאדמין של הפרויקט או הארגון ב- Google Cloud יצטרך את המידע הזה.
roles/aiplatform.userroles/artifactregistry.adminroles/documentai.editorroles/firebase.adminroles/iam.serviceAccountUserroles/serviceusage.serviceUsageAdminroles/iam.serviceAccountAdminroles/resourcemanager.projectIamAdminroles/config.agent
מחיקת הפריסה
כשלא צריך יותר את הפתרון, מוחקים את הפריסה. כשמוחקים את הפריסה, לא מחויבים יותר על המשאבים שיצרתם.
לפני המחיקה
לפני שמוחקים את הפתרון הזה, צריך למחוק את הפריסה של אינדקס חיפוש וקטורי:
נכנסים לדף Vector Search.
לוחצים על
knowledge-base-index.בקטע Deployed indexes, לוחצים על more_vert More.
לוחצים על ביטול הפריסה.
לא צריך לחכות עד שתהליך המחיקה של האינדקס יסתיים.
מחיקה דרך המסוף
השתמשו בתהליך הזה אם פרסתם את הפתרון דרך המסוף.
נכנסים לדף Solution deployments במסוף Google Cloud .
בוחרים את הפרויקט שמכיל את הפריסה שרוצים למחוק.
מאתרים את הפריסה שרוצים למחוק.
בשורה של הפריסה, לוחצים על Actions ובוחרים באפשרות Delete.
יכול להיות שתצטרכו לגלול כדי לראות את הפעולות בשורה.
מזינים את שם הפריסה ולוחצים על אישור.
בשדה Status מופיע הערך Deleting.
אם המחיקה נכשלת, אפשר להיעזר בהנחיות לפתרון בעיות במאמר שגיאה במחיקת פריסה.
אם כבר לא צריך את Google Cloud הפרויקט שבו השתמשתם כדי להפעיל את הפתרון, אתם יכולים למחוק אותו. מידע נוסף זמין במאמר אופציונלי: מחיקת הפרויקט.
מחיקה באמצעות ה-CLI של Terraform
אם פרסתם את הפתרון באמצעות ה-CLI של Terraform, השתמשו בתהליך הזה.
ב-Cloud Shell, מוודאים שספריית העבודה הנוכחית היא
$HOME/cloudshell_open/terraform-genai-knowledge-base/. אם לא, עוברים לספרייה הזו.מסירים את המשאבים שהוקצו על ידי Terraform:
terraform destroyב-Terraform מוצגת רשימה של המשאבים שיוסרו.
כשמופיעה בקשה לבצע את הפעולות, מזינים
yes.ב-Terraform מוצגות הודעות על ההתקדמות. אחרי שכל המשאבים נמחקים, Terraform מציגה את ההודעה הבאה:
Destroy complete!אם המחיקה נכשלת, אפשר להיעזר בהנחיות לפתרון בעיות במאמר שגיאה במחיקת פריסה.
אם כבר לא צריך את Google Cloud הפרויקט שבו השתמשתם כדי להפעיל את הפתרון, אתם יכולים למחוק אותו. מידע נוסף זמין במאמר אופציונלי: מחיקת הפרויקט.
מחיקת המודל שעבר התאמה
צריך למחוק את המודל המכוונן באופן ידני.
כדי למחוק את המודל המכוונן, קראו את המאמר מחיקת מודל מ-Vertex AI Model Registry.
אופציונלי: מחיקת הפרויקט
אם פרסתם את הפתרון בפרויקט חדש ב- Google Cloud ואתם לא צריכים יותר את הפרויקט, אתם יכולים למחוק אותו:
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- בהנחיה, מקלידים את מזהה הפרויקט ולוחצים על Shut down (סגירה).
אם תחליטו להשאיר את הפרויקט, תצטרכו למחוק את חשבון השירות שנוצר עבור הפתרון הזה, כמו שמתואר בקטע הבא.
אופציונלי: מחיקת חשבון השירות
אם מחקתם את הפרויקט שבו השתמשתם, אתם יכולים לדלג על החלק הזה.
כמו שצוין קודם במדריך הזה, כשפרסתם את הפתרון, נוצר בשמכם חשבון שירות. לחשבון השירות הוקצו הרשאות IAM מסוימות באופן זמני. כלומר, ההרשאות בוטלו אוטומטית אחרי השלמת הפריסה של הפתרון ופעולות המחיקה, אבל חשבון השירות לא נמחק. Google ממליצה למחוק את חשבון השירות הזה.
אם פרסתם את הפתרון דרך מסוף Google Cloud , עוברים לדף Solution deployments. (אם אתם כבר בדף הזה, רעננו את הדפדפן). תהליך מחיקת חשבון השירות מופעל ברקע. לא נדרשת פעולה נוספת.
אם פרסתם את הפתרון באמצעות Terraform CLI, בצעו את הפעולות הבאות:
נכנסים לדף Service accounts במסוף Google Cloud .
בוחרים את הפרויקט שבו השתמשתם לפתרון.
בוחרים את חשבון השירות שרוצים למחוק.
מזהה האימייל של חשבון השירות שנוצר בשביל הפתרון הוא בפורמט הבא:
goog-sc-DEPLOYMENT_NAME-NNN@PROJECT_ID.iam.gserviceaccount.comמזהה האימייל מכיל את הערכים הבאים:
- DEPLOYMENT_NAME: שם הפריסה.
- NNN: מספר אקראי בן 3 ספרות.
- PROJECT_ID: מזהה הפרויקט שבו פרסתם את הפתרון.
לוחצים על Delete.
פתרון בעיות
הפעולות שאפשר לבצע כדי לאבחן ולפתור שגיאות תלויות בשיטת הפריסה ובמורכבות השגיאה.
שגיאה במחיקת פריסה
במקרים מסוימים, ניסיונות למחוק פריסה עלולים להיכשל:
- אחרי פריסת פתרון דרך המסוף, אם משנים משאב כלשהו שהוקצה על ידי הפתרון, ואז מנסים למחוק את הפריסה, יכול להיות שהמחיקה תיכשל. בשדה סטטוס בדף פריסות של פתרונות מופיע הערך נכשל, ובלוג של Cloud Build מופיע הגורם לשגיאה.
- אחרי פריסת פתרון באמצעות Terraform CLI, אם משנים משאב כלשהו באמצעות ממשק שאינו Terraform (לדוגמה, המסוף), ואז מנסים למחוק את הפריסה, יכול להיות שהמחיקה תיכשל. ההודעות בפלט של הפקודה
terraform destroyמציגות את הסיבה לשגיאה.
צריך לבדוק את יומני השגיאות וההודעות, לזהות ולמחוק את המשאבים שגרמו לשגיאה, ואז לנסות שוב למחוק את הפריסה.
אם פריסה שמבוססת על המסוף לא נמחקת ואם אי אפשר לאבחן את השגיאה באמצעות יומן Cloud Build, אפשר למחוק את הפריסה באמצעות Terraform CLI, כמו שמתואר בקטע הבא.
מחיקת פריסה שמבוססת על המסוף באמצעות Terraform CLI
בקטע הזה מוסבר איך למחוק פריסה שמבוססת על המסוף, אם מתרחשות שגיאות כשמנסים למחוק אותה דרך המסוף. בגישה הזו, מורידים את ההגדרות של Terraform לפריסה שרוצים למחוק, ואז משתמשים ב-CLI של Terraform כדי למחוק את הפריסה.
מזהים את האזור שבו מאוחסנים קוד ה-Terraform, היומנים ונתונים אחרים של הפריסה. יכול להיות שהאזור הזה יהיה שונה מהאזור שבחרתם כשפרסתם את הפתרון.
נכנסים לדף Solution deployments במסוף Google Cloud .
בוחרים את הפרויקט שמכיל את הפריסה שרוצים למחוק.
ברשימת הפריסות, מאתרים את השורה של הפריסה שרוצים למחוק.
לוחצים על View all row content.
בעמודה Location, שימו לב למיקום השני, שמודגש בדוגמה הבאה:
מפעילים את Cloud Shell במסוף Google Cloud .
בחלק התחתון של מסוף Google Cloud יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.
יוצרים משתני סביבה למזהה הפרויקט, לאזור ולשם של הפריסה שרוצים למחוק:
export REGION="REGION" export PROJECT_ID="PROJECT_ID" export DEPLOYMENT_NAME="DEPLOYMENT_NAME"בפקודות האלה, מחליפים את מה שכתוב בשדות הבאים:
- REGION: המיקום שציינתם קודם בתהליך הזה.
- PROJECT_ID: מזהה הפרויקט שבו פרסתם את הפתרון.
- DEPLOYMENT_NAME: שם הפריסה שרוצים למחוק.
מאתרים את המזהה של הגרסה האחרונה של הפריסה שרוצים למחוק:
export REVISION_ID=$(curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1alpha2/projects/${PROJECT_ID}/locations/${REGION}/deployments/${DEPLOYMENT_NAME}" \ | jq .latestRevision -r) echo $REVISION_IDהפלט אמור להיראות כך:
projects/PROJECT_ID/locations/REGION/deployments/DEPLOYMENT_NAME/revisions/r-0מוצאים את המיקום ב-Cloud Storage של ההגדרות של Terraform לפריסה:
export CONTENT_PATH=$(curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1alpha2/${REVISION_ID}" \ | jq .applyResults.content -r) echo $CONTENT_PATHהדוגמה הבאה היא של הפלט שמתקבל מהפקודה הזו:
gs://PROJECT_ID-REGION-blueprint-config/DEPLOYMENT_NAME/r-0/apply_results/contentמורידים את קובץ התצורה של Terraform מ-Cloud Storage אל Cloud Shell:
gcloud storage cp $CONTENT_PATH $HOME --recursive cd $HOME/content/מחכים עד שההודעה
Operation completedתוצג, כמו בדוגמה הבאה:Operation completed over 45 objects/268.5 KiBמאתחלים את Terraform:
terraform initמחכים עד שמופיעה ההודעה הבאה:
Terraform has been successfully initialized!מסירים את המשאבים שנפרסו:
terraform destroyב-Terraform תוצג רשימה של המשאבים שיוסרו.
אם מופיעות אזהרות לגבי משתנים לא מוצהרים, התעלמו מהן.
כשמופיעה בקשה לבצע את הפעולות, מזינים
yes.ב-Terraform מוצגות הודעות על ההתקדמות. אחרי שכל המשאבים נמחקים, מופיעה ההודעה הבאה ב-Terraform:
Destroy complete!מחיקת ארטיפקט הפריסה:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1alpha2/projects/${PROJECT_ID}/locations/${REGION}/deployments/${DEPLOYMENT_NAME}?force=true&delete_policy=abandon"ממתינים כמה שניות ואז מוודאים שפריט הפריסה נמחק:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1alpha2/projects/${PROJECT_ID}/locations/${REGION}/deployments/${DEPLOYMENT_NAME}" \ | jq .error.messageאם הפלט הוא
null, ממתינים כמה שניות ומריצים שוב את הפקודה.אחרי שמחיקת ארטיפקט הפריסה מסתיימת, מוצגת הודעה כמו בדוגמה הבאה:
Resource 'projects/PROJECT_ID/locations/REGION/deployments/DEPLOYMENT_NAME' was not found
המאמרים הבאים
- מידע נוסף על Application Design Center
- מידע נוסף על AI גנרטיבי ב-Vertex AI
- סקירה כללית של עקרונות ארכיטקטוניים והמלצות שספציפיות לעומסי עבודה של AI ו-ML ב- Google Cloudזמינה בפרספקטיבת ה-AI וה-ML ב-Well-Architected Framework.