סיור ב-Gemini Code Assist (לשעבר Duet AI) למפתחים

1. מבוא

בשיעור ה-Lab הזה נשתמש ב-Gemini Code Assist (לשעבר Duet AI למפתחים), כלי מבוסס-AI ב-Google Cloud. כאן תלמדו איך משתמשים ב-Gemini Chat ונעזרים בקוד כדי ליצור קוד, להבין קוד ועוד.

מה עושים...

  • כדי להוריד תבנית קוד קיימת לאפליקציית אינטרנט, צריך להשתמש ב-Cloud Shell IDE.
  • כדי לשאול שאלות כלליות על Google Cloud, ייעשה שימוש ב-Gemini Chat ב-Cloud Shell IDE.
  • כדי ליצור, לסכם ולהשלים קוד, תשתמשו בעזרה עם הקוד של Gemini Code Assist ב-Cloud Shell IDE.

מה תלמדו...

  • איך להשתמש ב-Gemini Code Assist כדי לבצע כמה משימות פיתוח כמו יצירת קוד, השלמת קוד וסיכום קוד.
  • איך משתמשים ב-Gemini ל-Cloud כדי לקבל מידע על Google Cloud.

מה צריך...

  • דפדפן האינטרנט Chrome
  • חשבון Gmail
  • פרויקט בענן שהופעל בו חיוב
  • Gemini Code Assist מופעל בפרויקט שלך ב-Cloud

שיעור ה-Lab הזה מיועד למפתחים בכל הרמות, כולל למתחילים. למרות שהאפליקציה לדוגמה היא בשפת Python, לא צריך להכיר תכנות Python כדי להבין מה קורה. נתמקד בהיכרות עם היכולות של Gemini Code Assist למפתחים.

2. הגדרה

בחלק הזה נסביר את כל מה שצריך לעשות כדי להתחיל את שיעור ה-Lab הזה.

הפעלת Gemini ל-Cloud בפרויקט Google Cloud

עכשיו נפעיל את Gemini ל-Cloud בפרויקט שלנו ב-Google Cloud. כך תעשו זאת:

  1. נכנסים לכתובת https://console.cloud.google.com ומוודאים שבחרתם את הפרויקט ב-Google Cloud שאתם מתכוונים לעבוד איתו בשיעור ה-Lab הזה. לוחצים על הסמל לפתיחת Gemini שמופיע בפינה השמאלית העליונה.

28f084ec1e159938.png

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

e8df9adc4ea43a37.png

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

9859ea86a8310cb.png

Gemini ל-Cloud יענה על השאלה שלך. אפשר ללחוץ על הסמל f68286b2b2ea5c0a.png בפינה השמאלית העליונה כדי לסגור את חלון הצ'אט של Gemini ל-Cloud.

הפעלת Gemini Code Assist ב-Cloud Shell IDE

בשאר ימי ה-Codelab נשתמש ב-Cloud Shell IDE, סביבת פיתוח מנוהלת שמבוססת על Code OSS. אנחנו צריכים להפעיל ולהגדיר את Code Assist בסביבת הפיתוח המשולבת של Cloud Shell, כפי שמפורט בהמשך:

  1. נכנסים לכתובת ide.cloud.google.com. יכול להיות שיעבור קצת זמן עד שסביבת הפיתוח המשולבת תופיע, אז צריך להתאזר בסבלנות.
  2. לוחצים על הלחצן Cloud Code – כניסה בשורת הסטטוס התחתונה, כמו שמוצג. מאשרים את הפלאגין לפי ההוראות. אם בשורת הסטטוס כתוב Cloud Code – אין פרויקט, בוחרים את הפרויקט הספציפי ב-Google Cloud מרשימת הפרויקטים שבהם אתם מתכוונים לעבוד.

6f5ce865fc7a3ef5.png

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

709e6c8248ac7d88.png

Gemini Code Assist מוכן לשימוש!

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

228c9c9c6b956c8e.png

3. יצירת האפליקציה לדוגמה

אנחנו ניצור אפליקציה לדוגמה (אפליקציית Python Flask) שנשתמש בה כדי לבחון את התכונות של Gemini Code Assist.

כך עושים זאת:

  1. לוחצים על שם הפרויקט ב-Google Cloud בשורת הסטטוס שלמטה.

f151759c156c124e.png

  1. תופיע רשימה של אפשרויות. ברשימה הבאה, לוחצים על New Application (אפליקציה חדשה).

91ea9836f38b7f74.png

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

aaa3725b17ce27cf.png

4. שיחה עם Gemini

נתחיל בהסבר על איך להתכתב בצ'אט עם Gemini. Gemini זמין כעוזר דיגיטלי בצ'אט בסביבת הפיתוח המשולבת Cloud Shell כחלק מהתוסף של Cloud Code ב-VS Code. אפשר להציג אותו בלחיצה על הלחצן של Gemini בסרגל הניווט הימני. בסרגל הניווט הימני, מחפשים את הסמל של Gemini a489f98a34898727.png ולוחצים עליו.

הפעולה הזו תפתח את חלונית הצ'אט: חלונית GeminiI בסביבת הפיתוח המשולבת Cloud Shell, ותוכלו להתכתב בצ'אט עם Gemini כדי לקבל עזרה בקשר ל-Google Cloud.

14ad103efaa0ddaa.png

דרך חלונית הצ'אט של 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. חשוב גם לשים לב שהאינטראקציה הזו בצ'אט מבוססת על ההקשר של הקבצים שאתם עובדים עליהם בסביבת הפיתוח המשולבת(IDE).

5. הסבר על הקוד

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

אתם יכולים להיעזר ב-Gemini Code Assist כדי להבין חלקים מקוד האפליקציה. חוזרים לאפליקציה שיצרנו בשלב הקודם. אפשר להשתמש ב-Gemini Code Assist כדי להסביר על הקבצים והקוד שזמינים בסביבת הפיתוח המשולבת (IDE).

  1. אם הקבצים לא גלויים, בסרגל הפעילות של סביבת הפיתוח המשולבת (IDE), לוחצים על Explorer ( התפריט של Code OSS Explorer).
  2. בחלונית Explorer בוחרים באפשרות Dockerfile.
  3. בוחרים חלק מתוכן הקובץ, לוחצים על הנורה ( נורה של Code OSS Duet AI) ואז לוחצים על Gemini: הסבר על זה. לדוגמה, בוחרים את השורה שמתחילה ב-ENTRYPOINT, לוחצים על הנורה ( נורה של Code OSS Duet AI) ואז לוחצים על Gemini: הסבר על זה. Gemini יוצר הסבר בשפה טבעית לגבי הקטע הספציפי בקובץ Docker שדרוש לכם מידע נוסף. התשובה מ-Gemini כוללת פרטים על ההוראה ENTRYPOINT. למדתם שבעזרת ההוראה הזו, Docker יריץ את הקובץ app.py כשהקונטיינר יופעל.
  4. כדי להציג את התוכן של הקובץ app.py, לוחצים על Explorer ( התפריט של Code OSS Explorer) בסרגל הפעילות, ואז בוחרים באפשרות app.py.
  5. בהגדרת הפונקציה hello(), ניתן לבחור את השורות שרוצים לקבל עליהן מידע נוסף. לאחר מכן, לוחצים על הנורה ( נורה של Code OSS Duet AI), ואז לוחצים על Gemini : הסבר על זה. בדוגמה, בחרנו את שתי שורות הקוד הבאות ואז הפעלנו את הפעולה Gemini: הסבר על כך.

14d9c56af016b65d.png

  1. התשובה של Gemini מספקת הסבר מפורט על שני משתני הסביבה של Cloud Run (K_SERVICE, K_REVISION) ועל אופן השימוש בהם בקוד האפליקציה. שימו לב: Gemini בידע שלו על Google Cloud ושירותים כמו Cloud Run לא רק הסביר על הקוד Python, אלא גם נתן את ההקשר של המשמעות של המשתנים האלה ב-Cloud Run.

כדי לקבל הסבר על הקוד, אפשר לנסות את הדרכים הנוספות הבאות:

  1. יש להשאיר את הקובץ app.py פתוח בסביבת הפיתוח המשולבת (IDE). נכנסים לחלונית הצ'אט של Gemini בסרגל הניווט הימני ב-VS Code, ומזינים את ההנחיה הסבר על הקובץ. המערכת תתייחס לקובץ כולו ותסביר לכם את הנושא.
  2. אתם יכולים גם לבחור חלק כלשהו מהקובץ ואז להזין את ההנחיה הסבר על זה בחלונית הצ'אט של Gemini שמימין. יופיע רק החלק הנבחר בקובץ. הפעולה הזו דומה ללחיצה על הנורה( נורה של Code OSS Duet AI) ואז על Gemini: הסבר על זה.
  3. כדי לקבל רשימה של פעולות שאפשר לבצע בטקסט שנבחר, אתם יכולים גם לבחור חלק מהטקסט וללחוץ על Gemini: פעולות חכמות בפינה השמאלית העליונה בסביבת הפיתוח המשולבת (IDE). אחת מהאפשרויות הבאות תהיה הפעולה Explain this (הסבר):

adeb72acd708174.png

6. יצירת קוד עם הנחיות

בקטע הזה מוסבר איך משתמשים ב-Gemini Code Assist כדי ליצור קוד מתגובות.

בואו ננסה את התכונות האלה. כך תעשו זאת:

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

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

d6d7915885c5e74b.png

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

c7473cadcf15d887.png

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

10f4672830954c90.png

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

(אופציונלי) ריכזנו כאן כמה הצעות נוספות שאפשר לנסות ליצירת קוד:

  1. אפשר גם להשתמש בתכונת הצ'אט של Gemini כדי לשאול את אותה הנחיה ולקבל תשובה בחלון הצ'אט. בממשק של Chat יוצגו אפשרויות להעתקת הקוד או להוספה לקובץ הנוכחי.
  2. אפשר לנסות הנחיות משלכם לקוד לדוגמה הרצוי. בהמשך יוצגו כמה הצעות (בהנחה שאתם נמצאים באחד מקובצי ה-python): או תוכלו לבחור אחת מההנחיות הבאות:
  • כתיבת קוד Python כדי לפרסם הודעה ב-Google Cloud Pub/Sub
  • כתיבת קוד Python כדי לאתחל לקוח BigQuery
  • כתיבת קוד Python כדי לחבר את האפליקציה ל-Cloud SQL

7. קבלת הצעות לקודים בתוך השורה בזמן כתיבת קוד

בזמן כתיבת הקוד, Gemini Code Assist מציג הצעות לקוד בתוך השורה, ואפשר לקבל או להתעלם מהן. כדי לנסות את התכונה הזו, נשנה את הקובץ utils.py שיצרנו בקטע הקודם :

  1. פותחים את הקובץ utils.py בתור הקובץ הנוכחי בסביבת הפיתוח המשולבת של Cloud Shell.
  2. אחד מהדברים שאנחנו יכולים לעשות הוא לספק את ההצהרות הנכונות של import, אם הן לא מופיעות בקוד שנוצר.
  3. כשמתחילים להקליד את המילה import, אמורה להופיע הצעה של קוד Gemini ב-Gemini Code Assist בפורמט של טקסט צללים. כדי לקבל את ההצעה לקוד מ-Gemini Code Assist, לוחצים על Tab. אם לא, כדי להתעלם מההצעה, לוחצים על Esc או ממשיכים לכתוב את הקוד. במסך לדוגמה שבהמשך מוצגת הצעה לייבא את המחלקה storage כי נעשה בה שימוש בקוד. כדי לקבל את ההצעה לקוד, מקישים על Tab. מוצע גם הצהרה מסוג import os, אך מכיוון שאין בה צורך, נוכל להסיר אותה.

cb3dfff74172959d.png

  1. עוברים לסוף הקובץ utils.py ומוסיפים את השורה כדי להפעיל את הפונקציה, אם היא לא זמינה. במקרה הזה, זוהי הפונקציה print_blobs. אפשר פשוט להתחיל להקליד את שם הפונקציה והקוד הושלם כדי לסיים את המשפט.
  2. תצטרכו לספק את הקטגוריה bucket_name, ואפשר להשתמש בשם הקטגוריה הציבורי הבא : gemini-codeassist-bucket.ההפעלה לדוגמה של הפונקציה מוצגת למטה. שימו לב: יכולים להיות הבדלים קלים בשמות של פונקציות וכו'.

print_blobs(bucket_name="gemini-codeassist-bucket")

(אופציונלי) מריצים את הקוד לדוגמה

בגלל שכתבנו קוד לרישום ה-blobs בקטגוריה של Google Cloud Storage, נצטרך להתקין את ספריית google-cloud-storage Python.

עוברים לקובץ 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 ← Terminal חדש:

289173c68f1addb5.png

בסשן של הטרמינל, מתקינים את יחסי התלות של 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 כדי לספק פקודות ליצירת קטגוריה, להנגיש את הגישה לציבור ולהעלות אובייקטים לדוגמה לקטגוריה.

מתחילים עם ההנחיה הבאה: "מהי הפקודה של gcloud ליצירת קטגוריה ציבורית ב-Google Cloud Storage?"

הפעולה הזו אמורה לספק פקודת gcloud ליצירת קטגוריה. הפקודה המדויקת הבאה מוצגת כאן:

gcloud storage buckets create gs://<BUCKET_NAME>

בוחרים שם ייחודי ל-<BUCKET_NAME> ומריצים את הפקודה בטרמינל.

עכשיו, אחרי שיצרנו קטגוריה, אנחנו רוצים שהקטגוריה תהיה נגישה לציבור. נבקש מ-Gemini לבצע את הפקודה כדי לעשות זאת, באמצעות ההנחיה הבאה: "How do I make a google cloud storage bucket public access?"

פעולה זו אמורה לספק פקודת 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.

מסמכי עזר