1. מבוא
בשיעור ה-Lab הזה תלמדו להשתמש ב-Gemini Code Assist, כלי מבוסס-AI ב-Google Cloud. תלמדו איך להשתמש ב-Gemini Chat ובסיוע בכתיבת קוד כדי ליצור קוד, להבין קוד ולבצע משימות תכנות אחרות בעזרת AI.
מה עושים...
- תשתמשו ב-Cloud Shell IDE כדי להוריד תבנית קוד קיימת לאפליקציית אינטרנט.
- תשתמשו ב-Gemini Chat ב-Cloud Shell IDE כדי לשאול שאלות כלליות על Google Cloud.
- תשתמשו ב-Gemini Code Assist כדי ליצור, לסכם ולהשלים קוד בסביבת הפיתוח המשולבת (IDE) של Cloud Shell.
מה תלמדו...
- איך משתמשים ב-Gemini Code Assist למשימות פיתוח שונות, כמו יצירת קוד, השלמת קוד וסיכום קוד.
- איך משתמשים ב-Cloud Assist כדי לקבל מידע על Google Cloud.
מה צריך...
- דפדפן האינטרנט Chrome
- חשבון Gmail
- פרויקט ב-Cloud עם חיוב מופעל
- Gemini Code Assist מופעל בפרויקט שלכם ב-Cloud
שיעור ה-Lab הזה מיועד למפתחים בכל הרמות, כולל מתחילים. אף על פי שאפליקציית הדוגמה כתובה בשפת Python, לא צריך להכיר את התכנות ב-Python כדי להבין מה קורה. המיקוד שלנו יהיה בהיכרות עם היכולות של Gemini Code Assist למפתחים.
2. הגדרה
בקטע הזה מפורט כל מה שצריך לעשות כדי להתחיל את שיעור ה-Lab.
הפעלת Cloud Assist בפרויקט ב-Google Cloud
נפעיל עכשיו את Cloud Assist בפרויקט Google Cloud שלנו. כך עושים את זה:
- נכנסים לכתובת https://console.cloud.google.com ומוודאים שבחרתם את הפרויקט ב-Google Cloud שבו אתם מתכננים לעבוד במעבדה הזו. לוחצים על הסמל של Gemini בפינה השמאלית העליונה.

- חלון הצ'אט של Cloud Assist ייפתח בצד שמאל של המסוף. לוחצים על הלחצן 'הפעלה' כמו שמוצג למטה. אם לא מופיע הלחצן הפעלה ומופיע במקומו ממשק של Chat, סביר להניח שכבר הפעלתם את Cloud Assist בפרויקט ואפשר לעבור ישירות לשלב הבא.

- אחרי שמפעילים את Cloud Assist, אפשר לבדוק אותו על ידי הקלדת הנחיה או שתיים. מוצגות כמה דוגמאות לשאילתות, אבל אפשר לנסות שאילתה כמו
What is Cloud Run?

Cloud Assist יגיב עם התשובה לשאלה שלכם. אפשר ללחוץ על הסמל
בפינה השמאלית העליונה כדי לסגור את חלון הצ'אט של Cloud Assist.
הפעלת Gemini Code Assist ב-Cloud Shell IDE
נשתמש ב-Cloud Shell IDE, סביבת פיתוח מנוהלת מלאה שמבוססת על Code OSS, בשאר שלבי ה-codelab. צריך להפעיל ולהגדיר את Code Assist בסביבת הפיתוח המשולבת (IDE) של Cloud Shell. השלבים מפורטים בהמשך:
- עוברים אל ide.cloud.google.com. יכול להיות שיעבור זמן מה עד שסביבת הפיתוח המשולבת תופיע, אז כדאי לחכות בסבלנות.
- לוחצים על הלחצן Cloud Code - Sign in (קוד בענן – כניסה) בשורת הסטטוס התחתונה, כמו שמוצג. נותנים הרשאה לפלאגין לפי ההוראות. אם בשורת המצב מופיע הכיתוב Cloud Code - no project, בוחרים באפשרות הזו ואז בוחרים את הפרויקט הספציפי ב-Google Cloud שרוצים לעבוד איתו.

- לוחצים על הלחצן Gemini בפינה השמאלית התחתונה כמו שמוצג, ובוחרים בפעם האחרונה את פרויקט Google Cloud הנכון. אם תתבקשו להפעיל את Gemini for Google Cloud API, תצטרכו לעשות זאת ולהמשיך.
- אחרי שבוחרים את פרויקט Google Cloud, מוודאים שהוא מופיע בהודעת הסטטוס של Cloud Code בסרגל הסטטוס, וגם ש-Code Assist מופעל בצד ימין בסרגל הסטטוס, כמו שמוצג כאן:

Gemini Code Assist מוכן לשימוש!
אופציונלי: אם אתם לא רואים את Gemini בסרגל המצב בפינה השמאלית התחתונה, אתם צריכים להפעיל את Gemini ב-Cloud Code. לפני שמתחילים, חשוב לוודא ש-Gemini מופעל ב-IDE. לשם כך, עוברים אל Cloud Code Extension → Settings ומזינים את הטקסט Gemini כמו שמוצג בהמשך. מוודאים שהתיבה מסומנת. צריך לטעון מחדש את סביבת הפיתוח המשולבת (IDE). כך מפעילים את Gemini ב-Cloud Code, והסמל של Gemini יופיע בסרגל המצב בסביבת הפיתוח המשולבת.

3. יצירת אפליקציה לדוגמה
ניצור אפליקציה לדוגמה (אפליקציית Python Flask) שבעזרתה נבדוק את התכונות של Gemini Code Assist.
כך עושים את זה:
- לוחצים על שם הפרויקט ב-Google Cloud בסרגל הסטטוס שבתחתית המסך.

- תוצג רשימה של אפשרויות. לוחצים על New Application (אפליקציה חדשה) מהרשימה שלמטה.

- בוחרים באפשרות Cloud Run.
- בוחרים את תבנית האפליקציה Python (Flask): Cloud Run.
- שומרים את האפליקציה החדשה במיקום הרצוי.
- תוצג הודעה שמאשרת שהבקשה נוצרה, וייפתח חלון חדש עם הבקשה שנטענה, כמו שמוצג בהמשך. קובץ
README.mdייפתח. אפשר לסגור את התצוגה הזו עכשיו.

4. שיחה עם Gemini
נתחיל בלמידה איך לשוחח עם Gemini. Gemini זמין כעוזר צ'אט בסביבת הפיתוח המשולבת (IDE) של Cloud Shell כחלק מהתוסף Cloud Code ב-VS Code. כדי לפתוח אותו, לוחצים על לחצן Gemini בסרגל הניווט הימני. חפשו את סמל Gemini
בסרגל הניווט הימני ולחצו עליו.
פעולה זו תפתח את החלונית Chat: Gemini בתוך Cloud Shell IDE, ותוכלו להתכתב עם Gemini כדי לקבל עזרה ב-Google Cloud.

נשתמש בחלונית הצ'אט של Gemini כדי להזין הנחיה ולראות את התשובה מ-Gemini. מזינים את ההנחיה הבאה:
What is Cloud Run?
Gemini צריך לענות עם פרטים על Cloud Run. הנחיות הן שאלות או הצהרות שמתארות את העזרה שאתם צריכים. ההנחיות יכולות לכלול הקשר מקוד קיים שמנותח על ידי Google Cloud כדי לספק תשובות מועילות או מלאות יותר. מידע נוסף על כתיבת הנחיות ליצירת תשובות טובות זמין במאמר כתיבת הנחיות טובות יותר ל-Gemini ב-Google Cloud.
כדי לשאול שאלות על Google Cloud, אתם יכולים לנסות את ההנחיות לדוגמה שבהמשך או כל הנחיה אחרת משלכם:
What is the difference between Cloud Run and Cloud Functions?What services are available on Google Cloud to run containerized workloads?What are the best practices to optimize costs while working with Google Cloud Storage?
שימו לב לסמל פח האשפה בחלק העליון – כך מאפסים את ההקשר של היסטוריית הצ'אט של Code Assist. חשוב גם לציין שההתכתבות בצ'אט הזו היא בהקשר של הקבצים שאתם עובדים עליהם בסביבת הפיתוח המשולבת.
5. הסבר על הקוד
כדי לעזור לכם להיות פרודוקטיביים יותר ולצמצם את הצורך במעבר בין הקשרים, Gemini Code Assist מספק פעולות חכמות מבוססות-AI ישירות בעורך הקוד. כשבוחרים את הקוד בכלי לעריכת קוד, אפשר לראות רשימה של פעולות שרלוונטיות להקשר ולבחור מתוכה.
אתם יכולים להשתמש ב-Gemini Code Assist כדי להבין חלקים מקוד האפליקציה. חוזרים לאפליקציה שיצרנו בשלב הקודם, ואפשר להשתמש ב-Gemini Code Assist כדי לקבל הסבר על הקבצים והקוד שזמינים בסביבת הפיתוח המשולבת (IDE).
- אם הקבצים לא מוצגים, בסרגל הפעילות של סביבת הפיתוח המשולבת (IDE), לוחצים על סייר (
). - בחלונית Explorer, בוחרים באפשרות Dockerfile.
- אפשר לבחור חלק מהתוכן של הקובץ, ללחוץ על הנורה (
) ואז על Gemini: הסבר על זה. לדוגמה, בוחרים בשורה שמתחילה ב-ENTRYPOINT, לוחצים על הנורה (
) ואז על Gemini: Explain this (Gemini: הסבר על זה). Gemini יוצר הסבר בשפה טבעית על הקטע הספציפי בקובץ Dockerfile שאתם צריכים עליו מידע נוסף. Gemini משיב עם פרטים על ההוראה ENTRYPOINT. אתם מבינים שעם ההוראה הזו, Docker יריץ את הקובץ app.pyכשהקונטיינר יופעל. - כדי לראות את התוכן של הקובץ
app.py, בסרגל הפעילות לוחצים על Explorer (
) ואז בוחרים באפשרות app.py. - בהגדרת הפונקציה hello(), אפשר לבחור את השורות שרוצים לקבל עליהן מידע נוסף. לוחצים על סמל הנורה (
) ואז על Gemini : Explain this (Gemini: הסבר על זה). בדוגמה שלנו, בחרנו את שתי שורות הקוד הבאות והפעלנו את הפעולה Gemini: Explain this.

- Gemini מגיב עם הסבר מפורט על שני משתני הסביבה האלה של Cloud Run (
K_SERVICE, K_REVISION) ואיך הם משמשים בקוד האפליקציה. חשוב לציין ש-Gemini, עם הידע שלו ב-Google Cloud ובשירותים כמו Cloud Run, לא רק הסביר את קוד Python, אלא גם סיפק את ההקשר של המשמעות של המשתנים האלה ב-Cloud Run.
כדאי לנסות את הדרכים הנוספות הבאות כדי לקבל הסבר על הקוד:
- משאירים את app.py כקובץ הפתוח כרגע בסביבת הפיתוח המשולבת. עוברים לחלונית הצ'אט של Gemini בסרגל הניווט הימני ב-VS Code ומזינים את ההנחיה Explain this file (הסבר על הקובץ הזה). הוא ינתח את הקובץ כולו ויסביר לכם אותו.
- אפשר גם לבחור חלק מהקובץ ואז להשתמש בחלונית הצ'אט של Gemini בצד ימין, להזין את ההנחיה Explain this (הסבר על זה). ההסבר יתייחס רק לחלק שנבחר בקובץ. זה דומה ללחיצה על הנורה(
) ואז על Gemini: הסבר על זה. - אפשר גם לבחור חלק מהטקסט וללחוץ על Gemini: Smart Actions (Gemini: פעולות חכמות) בפינה השמאלית העליונה ב-IDE, כמו שמוצג בהמשך, כדי לקבל רשימה של פעולות שאפשר לבצע על הטקסט שנבחר. אחת מהאפשרויות האלה תהיה הפעולה הסבר על זה:

6. יצירת קוד באמצעות הנחיות
בקטע הזה מוסבר איך להשתמש ב-Gemini Code Assist כדי ליצור קוד מהערות.
כדאי לנסות את התכונות האלה. כך עושים את זה:
- יוצרים קובץ חדש בשם
utils.py. - בשורת קוד חדשה בקובץ הקוד החדש, מזינים
# Function to print a list of blobs in a Google Cloud Storage bucket, ואז מקישים עלEnter(ב-Windows וב-Linux) או עלReturn(ב-MacOS). יכול להיות ש-Gemini ינסה ליצור קוד בזמן ההקלדה, אבל אל תאשרו את הקוד. בשלב הבא נפעיל באופן ספציפי את יצירת הקוד. - כדי להפעיל את יצירת הקוד, לוחצים על
Control+Enter(ב-Windows וב-Linux) או עלControl+Return(ב-MacOS). לצד טקסט ההנחיה בקובץ Python, Gemini Code Assist יוצר את הקוד בצורה של טקסט רפאים. הוא יציג לכם הצעה אחת או יותר לקוד עם סרגל כלים, שדרכו תוכלו לעבור מהצעה אחת להצעה אחרת (אם יש כמה הצעות). אפשר אפילו לאשר כל אחת מהצעות הקוד דרך סרגל הכלים. אם סרגל הכלים לא מופיע או שהוא נעלם, מעבירים את העכבר מעל הקוד שנוצר כדי שהוא יופיע שוב. - אופציונלי: כדי לאשר את הקוד שנוצר, לוחצים על
Tab. אם יש כמה הצעות, אפשר להקיש עלTabכמה פעמים כדי לעבור מקטע קוד מוצע אחד לקטע הבא.
הקוד שאשרתם יתווסף לקובץ utils.py. למטה מוצגת דוגמה בצילום מסך. יכול להיות שהקוד שתקבלו יהיה שונה מהקוד שמוצג בהמשך. אם נוצרות שיטות נוספות, אפשר למחוק אותן אחרי אישור הקוד.

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

אחרי שתעשו את זה, תוכלו להתעלם מהאזהרה לגבי הציטוט בלחיצה על תיקון מהיר.... כך תוכלו לראות את התיקון המהיר המוצע. דוגמה לתיקון מהיר מוצע מוצגת בהמשך:

אם אתם מסכימים לתנאי הרישיון של הקוד, אתם יכולים לבחור באפשרות התעלמות מאזהרת ציטוט.
(אופציונלי) הנה כמה הצעות נוספות שכדאי לנסות ליצירת קוד:
- אפשר גם להשתמש בתכונת הצ'אט עם Gemini כדי להזין את אותה הנחיה ולקבל את התשובה בחלון הצ'אט. בממשק של Chat מוצגות אפשרויות להעתקת הקוד או להוספה שלו לקובץ הנוכחי.
- אתם יכולים לנסות הנחיות משלכם כדי לקבל קוד לדוגמה שמתאים לכם. בהמשך מופיעות כמה הצעות (בהנחה שאתם נמצאים באחד מקובצי ה-Python): או שאתם יכולים לבחור מבין ההנחיות הבאות:
- כתיבת קוד Python לפרסום הודעה ב-Google Cloud Pub/Sub
- כתיבת קוד Python כדי לאתחל לקוח BigQuery
- כתיבת קוד Python כדי לחבר את האפליקציה שלי ל-Cloud SQL
7. קבלת הצעות לקוד בתוך השורה בזמן כתיבת הקוד
בזמן שאתם כותבים קוד, Gemini Code Assist מציע הצעות לקוד בשורה, ואתם יכולים לקבל או להתעלם מהן. כדי לנסות את התכונה הזו, נשנה את הקובץ utils.py שיצרנו בסעיף הקודם :
- פותחים את הקובץ
utils.pyכקובץ הנוכחי בסביבת הפיתוח המשולבת של Cloud Shell. - אחת הפעולות שאנחנו יכולים לבצע היא לספק את הצהרות
importהנכונות, אם הן לא מופיעות בקוד שנוצר. - מתחילים להקליד את המילה
importורואים את Gemini Code Assist מציע קוד בצורה של טקסט רפאים. כדי לאשר את הצעת הקוד מ-Gemini Code Assist, מקישים עלTab. אם רוצים להתעלם מההצעה, לוחצים עלEscאו ממשיכים לכתוב את הקוד. במסך לדוגמה שלמטה, מוצע לייבא את המחלקהstorageכי נעשה בה שימוש בקוד. מקישים עלTabכדי לאשר את הצעת הקוד. היא גם מציעה את ההצהרהimport os, אבל מכיוון שהיא לא נחוצה, אפשר להסיר אותה.

- עוברים לסוף הקובץ
utils.pyומוסיפים את השורה להפעלת הפונקציה, אם היא לא מופיעה. בדוגמה הזו, זו הפונקציהprint_blobs. אפשר פשוט להתחיל להקליד את שם הפונקציה, והשלמת הקוד תעזור לכם לסיים את ההצהרה. - תצטרכו לציין את bucket_name (שם קטגוריית האחסון) ואפשר להשתמש בשם קטגוריית האחסון הציבורית הבאה :
gemini-codeassist-bucket.בהמשך מוצגת קריאה לדוגמה של הפונקציה. חשוב לדעת שאולי יהיו הבדלים קלים בשמות הפונקציות וכו'.
print_blobs(bucket_name="gemini-codeassist-bucket")
(אופציונלי) מריצים את הקוד לדוגמה
כתבנו קוד כדי להציג רשימה של ה-blob בקטגוריה של Google Cloud Storage, ולכן נצטרך להתקין את ספריית Python google-cloud-storage.
עוברים לקובץ requirements.txt ומוסיפים שורה חדשה עם התלות google-cloud-storage, כמו בדוגמה שלמטה. בהמשך מוצג קובץ requirements.txt לדוגמה.
Flask==2.3.3 requests==2.31.0 debugpy # Required for debugging. google-cloud-storage
שומרים את קובץ requirements.txt.
כדי לראות את הקוד בפעולה, צריך להפעיל סשן חדש של טרמינל מ-Cloud Shell IDE באמצעות סמל התפריט בפינה הימנית העליונה. לוחצים על סמל התפריט ואז על Terminal → New Terminal כמו שמוצג למטה:

בסשן של הטרמינל, מתקינים את יחסי התלות של Python באמצעות הפקודה הבאה:
pip3 install -r requirements.txt
לבסוף, אפשר להריץ את הקובץ utils.py באמצעות הפקודה הבאה:
python utils.py
אמורה להופיע רשימה של ה-blob שקיימים בקטגוריה הציבורית של Cloud Storage. במצב אידאלי, אמורים להופיע בפלט 2 בלובים (file1.txt ו-file2.txt).
פתרון בעיות
אם מוצגת לכם שגיאת גישה כשאתם מנסים להציג את האובייקטים בקטגוריה הציבורית שלמעלה, אתם יכולים ליצור קטגוריה משלכם ב-Google Cloud Storage ולהשתמש בה במקום gemini-codeassist-bucket. בקטע הבא נסביר איך עושים את זה.
(אופציונלי) יצירת קטגוריה משלכם ב-Cloud Storage
נשתמש ב-Gemini כדי לקבל פקודות ליצירת קטגוריה, להגדרת גישה ציבורית אליה ולהעלאת אובייקטים לדוגמה לקטגוריה.
מתחילים בהנחיה הבאה: "What is the gcloud command to create a public bucket in Google Cloud Storage?"
אמורה להיות פקודת gcloud ליצירת מאגר. הפקודה המדויקת מוצגת בהמשך:
gcloud storage buckets create gs://<BUCKET_NAME>
בוחרים שם ייחודי ל-<BUCKET_NAME> ומריצים את הפקודה במסוף.
אחרי שיצרנו קטגוריה, אנחנו רוצים שהיא תהיה נגישה לכולם. נבקש מ-Gemini את הפקודה לביצוע הפעולה הזו באמצעות ההנחיה הבאה: "How do I make a google cloud storage bucket publicly accessible?"
אחרי שתעשו את זה, תופיע פקודת gcloud שתאפשר לכם להגדיר את הגישה לנתונים כציבורית. התשובה אמורה להיות בנוסח הבא:
gcloud storage buckets add-iam-policy-binding gs://<BUCKET_NAME> --member=allUsers --role=roles/storage.objectViewer
מחליפים את <BUCKET_NAME> בשם הקטגוריה שבה השתמשתם קודם ומריצים את הפקודה.
לבסוף, נרצה להעלות כמה קבצים לדלי. מריצים את הפקודות הבאות בטרמינל (חשוב להחליף את המשתנה <BUCKET_NAME> בשם הקטגוריה שלכם).
touch f1.txt touch f2.txt gcloud storage cp f1.txt gs://<BUCKET_NAME> gcloud storage cp f2.txt gs://<BUCKET_NAME>
עכשיו אפשר להריץ את הקובץ utils.py באמצעות <BUCKET_NAME> במקום gemini-codeassist-bucket.
הסרת המשאבים
אם יצרתם קטגוריה של Cloud Storage משלכם ב-Google Cloud Storage, מומלץ מאוד למחוק אותה כדי להימנע מחיובים ומסיכוני אבטחה פוטנציאליים.
כדי למחוק את הבאקט, משתמשים בפקודה שמופיעה בהמשך:
gcloud storage buckets delete gs://<BUCKET_NAME>
8. מעולה!
מזל טוב – הצלחתם לעבוד עם Gemini Code Assist על פרויקט לדוגמה כדי להבין איך הוא יכול לעזור ביצירת קוד, בהשלמת קוד, בסיכום קוד ובקבלת תשובות לשאלות לגבי Google Cloud.