סיור מודרך ב-Gemini Code Assist Standard ו-Enterprise למפתחים ב-Google Cloud Shell Editor
מידע על Codelab זה
1. מבוא
בשיעור ה-Lab הזה תשתמשו ב-Gemini Code Assist, כלי שיתוף פעולה מבוסס-AI ב-Google Cloud. נלמד איך משתמשים ב-Gemini Chat ובתמיכה בקוד בתוך שורת הטקסט כדי ליצור קוד, להבין קוד ולבצע משימות תכנות אחרות בעזרת AI.
מה עליכם לעשות…
- תלמדו להשתמש בסביבת הפיתוח המשולבת (IDE) של Cloud Shell כדי להוריד תבנית קוד קיימת לאפליקציית אינטרנט.
- תוכלו להשתמש ב-Gemini Chat ב-Cloud Shell IDE כדי לשאול שאלות כלליות על Google Cloud.
- תשתמשו בתכונה Gemini Code Assist Inline code assistance בסביבת הפיתוח המשולבת של 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 ייפתח בצד שמאל של המסוף. לוחצים על הלחצן Enable (הפעלה) כפי שמוצג בהמשך. אם הלחצן Enable (הפעלה) לא מופיע, ובמקום זאת מופיע ממשק של Chat, סביר להניח שכבר הפעלתם את Cloud Assist בפרויקט ותוכלו לעבור ישירות לשלב הבא.
- אחרי ההפעלה, תוכלו לבדוק את Cloud Assist על ידי בקשה להנחיה או שתיים. מוצגות כמה שאילתות לדוגמה, אבל אפשר לנסות גם שאילתות כמו
What is Cloud Run?
Cloud Assist יגיב עם התשובה לשאלה. אפשר ללחוץ על הסמל בפינה השמאלית העליונה כדי לסגור את חלון הצ'אט של Cloud Assist.
הפעלת Gemini Code Assist בסביבת הפיתוח המשולבת (IDE) של Cloud Shell
בשאר הקודלאב נשתמש ב-Cloud Shell IDE, סביבת פיתוח מבוססת Code OSS שמנוהלת באופן מלא. אנחנו צריכים להפעיל ולהגדיר את Code Assist בסביבת הפיתוח המשולבת (IDE) של Cloud Shell. השלבים מפורטים בהמשך:
- נכנסים לכתובת ide.cloud.google.com. יכול להיות שיעבור זמן מה עד שסביבת הפיתוח המשולבת תופיע, לכן צריך להמתין.
- לוחצים על הלחצן Cloud Code – Sign in (Cloud Code – כניסה) בסרגל הסטטוס התחתון, כפי שמוצג. מאשרים את הפלאגין לפי ההוראות. אם מופיעה ההודעה Cloud Code – no project (Cloud Code – אין פרויקט) בסרגל הסטטוס, בוחרים בהודעה הזו ואז בוחרים את הפרויקט הספציפי ב-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 כפי שמוצג בהמשך. מוודאים שהתיבה מסומנת. צריך לטעון מחדש את סביבת הפיתוח המשולבת.הפעולה הזו מפעילה את Gemini ב-Cloud Code, וסמל Gemini יופיע בסרגל הסטטוס בסביבת הפיתוח המשולבת.
3. יצירת אפליקציית הדוגמה
נוצר אפליקציה לדוגמה (אפליקציית Python Flask) שבה נשתמש כדי לבדוק את התכונות של Gemini Code Assist.
כך עושים זאת:
- לוחצים על שם הפרויקט ב-Google Cloud בסרגל הסטטוס שבהמשך.
- תופיע רשימה של אפשרויות. לוחצים על אפליקציה חדשה מהרשימה שבהמשך.
- בוחרים באפליקציה 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 כדי להסביר את הקבצים והקוד שזמינים בסביבת הפיתוח המשולבת.
- אם הקבצים לא מוצגים, לוחצים על Explorer (
) בסרגל הפעילות של סביבת הפיתוח המשולבת.
- בחלונית Explorer, בוחרים באפשרות Dockerfile.
- אפשר לבחור כל חלק מתוכן הקובץ, ללחוץ על נורה (
) ואז ללחוץ על Gemini: Explain this. לדוגמה, בוחרים את השורה שמתחילה ב-ENTRYPOINT, לוחצים על נורה (
) ואז על Gemini: Explain this. Gemini יוצר הסבר בשפה טבעית לגבי הקטע הספציפי ב-Dockerfile שדרוש לכם מידע נוסף עליו. Gemini משיב עם פרטים על ההוראה ENTRYPOINT. ההוראה הזו מאפשרת ל-Docker להריץ את הקובץ
app.py
כשהקונטיינר יופעל. - כדי להציג את התוכן של הקובץ
app.py
, בסרגל הפעילות לוחצים על Explorer () ובוחרים באפשרות
app.py
. - בהגדרת הפונקציה hello(), אפשר לבחור את השורות שרוצים לקבל עליהן מידע נוסף. לאחר מכן לוחצים על הנורה (
) ואז על Gemini : Explain this. בדוגמה שלנו, בחרנו בשתי שורות הקוד הבאות ואז הפעילנו את הפעולה 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: Explain this.
- אפשר גם לבחור חלק מהטקסט וללחוץ על Gemini: Smart Actions בפינה השמאלית העליונה של סביבת הפיתוח, כפי שמוצג בהמשך, כדי לקבל רשימה של פעולות שאפשר לבצע בטקסט שנבחר. אחת מהאפשרויות האלה תהיה הפעולה הסבר על כך:
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
. צילום מסך לדוגמה מוצג בהמשך. יכול להיות שהקוד שתקבלו יהיה שונה מהקוד שמוצג בהמשך. אם נוצרות שיטות נוספות, תוכלו למחוק אותן אחרי שתאשרו את הקוד.
יכול להיות שתבחינו בקווים מתפתלים בקוד, ויכול להיות שלא. אם כן, מדובר בציטוט קוד. כשמעבירים את העכבר מעל אחת מהשורות, מוצגים שיוך הקוד ומידע רלוונטי נוסף לגבי הרישוי. דוגמה מופיעה בהמשך:
לאחר מכן תוכלו להתעלם מהאזהרה על הצגת ציטוט על ידי לחיצה על תיקון מהיר…. תוצג הצעה לתיקון מהיר. דוגמה לתיקון מהיר מופיעה בהמשך:
אם אתם מסכימים לקבל את רישיון הקוד, תוכלו לבחור באפשרות Ignore Citation Warning (התעלמות מהאזהרה על ציטוט).
(אופציונלי) ריכזנו כאן כמה הצעות נוספות ליצירת קוד:
- אפשר גם להשתמש בתכונה של Gemini Chat כדי להזין את אותה הנחיה ולקבל את התשובה בחלון הצ'אט. לאחר מכן יוצגו בממשק של 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")
(אופציונלי) מריצים את הקוד לדוגמה
מאחר שכתבנו קוד להצגת רשימה של ה-blobs בקטגוריה של 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
.
כדי לראות את הקוד בפעולה, נצטרך להפעיל סשן חדש של Terminal מ-Cloud Shell IDE באמצעות סמל התפריט בפינה הימנית העליונה. לוחצים על סמל התפריט ואז על Terminal → New Terminal (טרמינל → טרמינל חדש) כפי שמוצג בהמשך:
בסשן של Terminal, מתקינים את יחסי התלות של Python באמצעות הפקודה הבאה:
pip3 install -r requirements.txt
לבסוף, אפשר להריץ את הקובץ utils.py
באמצעות הפקודה הבאה:
python utils.py
אמורים להופיע ה-blobs שנמצאים בקטגוריה הציבורית של Google Cloud Storage. במצב אידיאלי, אמורים להופיע 2 blobs בפלט (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
.
הסרת המשאבים
אם יצרתם קטגוריה משלכם ב-Google Cloud Storage, מומלץ מאוד למחוק את הקטגוריה כדי להימנע מחיובים ומסיכוני אבטחה פוטנציאליים.
אפשר למחוק את הקטגוריה באמצעות הפקודה הבאה:
gcloud storage buckets delete gs://<BUCKET_NAME>
8. מעולה!
מזל טוב – סיימתם לעבוד עם Gemini Code Assist בפרויקט לדוגמה כדי להבין איך הוא יכול לעזור לכם ביצירת קוד, בהשלמת קוד, בסיכום קוד ובקבלת תשובות לשאלות לגבי Google Cloud.