בקטע הזה מוסבר איך ליצור מחברת Jupyter במכונה של Agent Platform Workbench. מקרים של Agent Platform Workbench הם סביבות פיתוח מבוססות מחברת Jupyter לכל תהליך העבודה של מדעי הנתונים. מכונות Agent Platform Workbench מגיעות עם JupyterLab ועם חבילה מותקנת מראש של חבילות ללמידה עמוקה, כולל תמיכה ב-frameworks TensorFlow ו-PyTorch. מידע נוסף זמין במאמר מבוא למופעים של Agent Platform Workbench.
אחרי שיוצרים מחברת ב-Agent Platform Workbench, מריצים חלקים רציפים של קוד Python כדי לבצע את רוב העבודה שנדרשת ליצירת התחזיות.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Gemini Enterprise Agent Platform and Notebooks APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Gemini Enterprise Agent Platform and Notebooks APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
יצירת מופע של Agent Platform Workbench
כדי ליצור מופע של Agent Platform Workbench:
במסוף Google Cloud , פותחים את הפרויקט Google Cloud אם הוא לא פתוח כבר.
נכנסים לדף Instances ב-Agent Platform Workbench במסוף Google Cloud .
אם מופיעה האפשרות להפעיל את Notebooks API, לוחצים על Enable. תהליך ההפעלה עשוי להימשך כמה רגעים.
לוחצים על יצירת פריט חדש.
בתיבת הדו-שיח New instance (מכונה חדשה), בשדה Name (שם), מזינים שם למכונה.
בשדה Region, בוחרים באפשרות us-central1 (Iowa).
בשדה Zone, בוחרים באפשרות us-central1-a.
לוחצים על יצירה. כדי לקבל מידע נוסף על המכונה, אחרי שהיא מופיעה ברשימת המכונות, לוחצים על השם שלה כדי לראות את המאפיינים שלה.
הכנת ה-Notebook
המופע של Agent Platform Workbench כבר מאומת לשימוש בפרויקט Google Cloud . עם זאת, צריך להתקין ולאתחל את Agent Platform SDK ל-Python. בקטע הזה מוסבר איך לבצע את השלבים האלה.
אחרי שיוצרים את המחברת, משתמשים בה כדי להזין ולהריץ את קטעי הקוד הרציפים במדריך הזה. צריך להפעיל כל קטע קוד בנפרד ובסדר הנכון.
יצירה ופתיחה של Notebook
בנוטבוק מריצים את הקוד שבמדריך הזה. זה קובץ עם הסיומת .ipynb. כשיוצרים אותו, הוא לא מקבל שם. אפשר לשנות את השם שלו אחרי הפתיחה. כדי ליצור ולפתוח את ה-Notebook:
נכנסים לדף Instances במסוף Google Cloud .
לצד שם המכונה, לוחצים על Open JupyterLab.
המופע של Agent Platform Workbench פותח את סביבת JupyterLab.
ב-JupyterLab, בוחרים באפשרות קובץ > חדש > מחברת.
קובץ המחברת החדש ייפתח ותיבת הדו-שיח Select kernel תופיע.
בתיבת הדו-שיח Select kernel, בוחרים את ליבת Python 3.
בחלונית הניווט הימנית של JupyterLab, מחפשים את ה-notebook החדש שנקרא Untitled.ipynb. כדי לשנות את השם, לוחצים לחיצה ימנית על שם הנוטבוק, לוחצים על שינוי השם ומזינים שם חדש.
התקנה של Agent Platform SDK ל-Python
אחרי שפותחים את המחברת, צריך להתקין את Agent Platform SDK for Python. משתמשים ב-Agent Platform SDK for Python כדי לבצע קריאות ל-Agent Platform API שיוצרות את מערך הנתונים, יוצרות את המודל, מאמנות ומפריסות את המודל ומבצעות חיזויים באמצעות המודל. מידע נוסף זמין במאמר בנושא שימוש ב-Agent Platform SDK ל-Python.
כשמתקינים את Agent Platform SDK for Python, מותקנים גם ערכות SDK אחרות Google Cloud שהוא תלוי בהן. במדריך הזה נעשה שימוש בשתי ערכות SDK:
Cloud Storage – כשמשתמשים ב-Agent Platform SDK for Python כדי לבצע קריאות ל-Agent Platform API, Gemini Enterprise Agent Platform מאחסן ארטיפקטים בקטגוריה של Cloud Storage. הקטגוריה נקראת קטגוריית ביניים. אתם מציינים את קטגוריית הביניים כשאתם מאתחלים את Agent Platform SDK for Python. מידע נוסף מופיע במאמר בנושא לקוח Python ל- Google Cloud Storage API.
BigQuery – פלטפורמת הסוכנים של Gemini Enterprise מאמנת את המודל באמצעות מערך נתונים ציבורי של BigQuery. כדי לגשת למערך הנתונים שמשמש במדריך הזה ולהוריד אותו, צריך להתקין את BigQuery SDK. מידע נוסף זמין במאמר ספריות לקוח של BigQuery API.
כדי להתקין את Agent Platform SDK ל-Python ואת ערכות ה-SDK שתלויות בו, מריצים את הקוד הבא.
# Install the Agent Platform SDK
! pip3 install --upgrade --quiet google-cloud-aiplatform
הדגל --quiet משתיק את הפלט כך שרק שגיאות יוצגו, אם יש כאלה. סימן הקריאה (!) מציין שזו פקודת מעטפת.
זו הפעם הראשונה שאתם מריצים קוד ב-notebook החדש, ולכן צריך להזין אותו בתא הקוד הריק בחלק העליון של ה-notebook. אחרי שמזינים קוד בתא קוד, לוחצים על הפעלת התאים שנבחרו ומעבר או משתמשים במקש הקיצור Shift + Enter כדי להריץ את הקוד.
במהלך המדריך הזה, מריצים קוד בתא הקוד הריק שמופיע באופן אוטומטי מתחת לקוד שהורץ לאחרונה. כדי להוסיף תא קוד חדש באופן ידני, לוחצים על הלחצן הוספת תא מתחת בקובץ המחברת.
הגדרת מזהה הפרויקט והאזור
בשלב הזה, מקצים את מזהה הפרויקט ואת האזור למשתנים כדי שאפשר יהיה להפנות אליהם בהמשך המדריך הזה.
הגדרת מזהה הפרויקט
כדי להגדיר את מזהה הפרויקט:
מאתרים את Google Cloud מזהה הפרויקט. מידע נוסף זמין במאמר איך מאתרים את מזהה הפרויקט.
מריצים את הקוד הבא בתא קוד ב-notebook. בקוד, מחליפים את PROJECT_ID במזהה הפרויקט שאיתרתם. הפלט שנוצר מהפקודה הזו הוא
Updated property [core/project].project_id = "PROJECT_ID" # @param {type:"string"}
הגדרת האזור
במדריך הזה נעשה שימוש באזור us-central1. כדי להגדיר את האזור:
מריצים את הקוד הבא כדי להגדיר את המשתנה
regionשמשמש את Gemini Enterprise Agent Platform ל-us-central1. הפקודה הזו לא יוצרת פלט. מידע נוסף זמין במאמר בנושא בחירת מיקום.region = "us-central1" # @param {type: "string"}
יצירת קטגוריה של Cloud Storage
כדי לבצע את ההדרכה הזו, צריך קטגוריה של Cloud Storage שמשמשת את Gemini Enterprise Agent Platform לאחסון זמני של ארטיפקטים. פלטפורמת הסוכנים של Gemini Enterprise מאחסנת את הנתונים שמשויכים למערך הנתונים שאתם יוצרים ואת משאבי המודל בדלי ההעברה הזמנית. הנתונים האלה נשמרים וזמינים בסשנים שונים. במדריך הזה, Gemini Enterprise Agent Platform גם מאחסן את מערך הנתונים שלכם בקטגוריית הביניים. מציינים את קטגוריית הביניים כשמפעילים את Agent Platform SDK ל-Python.
כל שם של קטגוריית Cloud Storage חייב להיות ייחודי באופן גלובלי. אם תבחרו שם שכבר נמצא בשימוש, הפקודה ליצירת הקטגוריה תיכשל. הקוד הבא משתמש בחותמת תאריך ושעה ובשם הפרויקט כדי ליצור שם ייחודי לקטגוריה. מוסיפים את שם הקטגוריה ל-gs:// כדי ליצור את ה-URI של הקטגוריה ב-Cloud Storage. פקודת ה-shell echo מציגה את ה-URI כדי שתוכלו לוודא שהוא נוצר בצורה נכונה.
כדי להגדיר את השם וה-URI של הקטגוריה, מריצים את הקוד הבא. בשורה האחרונה מוצג ה-URI של הקטגוריה שלכם ב-Cloud Storage.
bucket_name = "bucket-name-placeholder" # @param {type:"string"} bucket_uri = f"gs://{bucket_name}" from datetime import datetime timestamp = datetime.now().strftime("%Y%m%d%H%M%S") if bucket_name == "" or bucket_name is None or bucket_name == "bucket-name-placeholder": bucket_name = project_id + "aip-" + timestamp bucket_uri = "gs://" + bucket_name ! echo $bucket_uriכדי ליצור קטגוריה באמצעות ספריית הלקוח של Cloud Storage וכתובת ה-URI של הקטגוריה, מריצים את הקוד הבא. הקוד הזה לא יוצר פלט.
from google.cloud import storage client = storage.Client(project=project_id) # Create a bucket bucket = client.create_bucket(bucket_name, location=region)כדי לוודא שהבאקט נוצר בהצלחה, מריצים את הפקודה הבאה:
print("Bucket {} created.".format(bucket.name))
אתחול של Agent Platform SDK ל-Python
כדי להפעיל את Agent Platform SDK ל-Python, קודם מייבאים את הספרייה שלו, aiplatform. לאחר מכן קוראים לפונקציה aiplatform.init ומעבירים ערכים לפרמטרים הבאים:
project– הפרמטרprojectמציין באיזה Google Cloud פרויקט להשתמש כשמשתמשים ב-Agent Platform SDK for Python כדי לבצע קריאות ל-Agent Platform API. במדריך הזה מציינים את הפרויקט Google Cloud באמצעות השם שלו. אפשר גם לציין את הפרויקט באמצעות מספר הפרויקט.
location–locationמציין באיזה אזור להשתמש Google Cloud כשמבצעים קריאות ל-API. אם לא מציינים מיקום, Agent Platform SDK for Python משתמש ב-us-central1.
staging_bucket– הפרמטרstaging_bucketמציין באיזו קטגוריה של Cloud Storage נעשה שימוש כדי להכין ארטיפקטים כשמשתמשים ב-Agent Platform SDK for Python. מציינים את הדלי באמצעות URI שמתחיל ב-gs://. במדריך הזה משתמשים ב-URI שנוצר קודם ביצירת קטגוריה של Cloud Storage.
כדי להגדיר את Google Cloud הפרויקט, האזור וקטגוריית הביניים, מריצים את הפקודה הבאה. הפקודה הזו לא יוצרת פלט.
from google.cloud import aiplatform
# Initialize the Agent Platform SDK
aiplatform.init(project=project_id, location=region, staging_bucket=bucket_uri)
הפעלה ראשונית של BigQuery
במדריך הזה משתמשים במערך נתונים ציבורי של פינגווינים ב-BigQuery כדי לאמן מודל. אחרי שמערכת Gemini Enterprise Agent Platform מאמנת את המודל, אתם מציינים פרמטרים שמייצגים מאפיינים של פינגווינים, והמודל משתמש במאפיינים האלה כדי לחזות את מין הפינגווין שהם מייצגים. מידע נוסף על מערכי נתונים ציבוריים זמין במאמר מערכי נתונים ציבוריים של BigQuery.
לפני שמשתמשים במערך הנתונים ב-BigQuery, צריך לאתחל את BigQuery עם מזהה הפרויקט. כדי לעשות את זה, מריצים את הפקודה הבאה. הפקודה הזו לא יוצרת פלט.
from google.cloud import bigquery
# Set up BigQuery client
bq_client = bigquery.Client(project=project_id)