1. סקירה כללית
ב-Codelab הזה נראה איך משתמשים ב-Gemini כדי לבנות אפליקציית לקוח על בסיס בק-אנד של API קיים.
מה תלמדו
ה-Lab הזה נועד להדגים שימוש ב-Gemini עם אפליקציה קיימת. בשיעור Lab זה תלמדו איך:
- פריסת פתרון התחלה מהירה לעיבוד תמונות באמצעות AI/ML
- שימוש ב-Gemini כדי לבדוק את אפליקציית ה-API
- איך משתמשים ב-Gemini כדי ליצור לקוח לאפליקציית ה-API
הגדרה – יצירת פרויקט חדש
יכול להיות שמדיניות הארגון שלכם לא תאפשר לכם לפרוס את הפתרון הזה בצורה נכונה.
המלצה: כדאי להשתמש בחשבון שיש לכם בו הרשאות מלאות (כמו חשבון לשימוש אישי) במקום בחשבון של חברה או מוסד לימודים
הערה: אם יצרתם לאחרונה פרויקט שיש לכם בו הרשאות מלאות, וממשק Gemini API כבר מופעל בפרויקט הזה, אתם יכולים להמשיך להשתמש בפרויקט ולדלג על השלב הזה. לדוגמה, אם סיימתם לאחרונה עוד סדנת קוד של Gemini, אתם יכולים לדלג על השלב הזה.
- כניסה למסוף Google Cloud
- לוחצים על התפריט הנפתח של הפרויקט הנוכחי.
- לוחצים על פרויקט חדש
. - מוסיפים שם לפרויקט ולוחצים על יצירה
- .
- המלצה: כדאי להשתמש בשם פרויקט ייחודי כדי ש-
Project nameו-Project IDיהיו זהים
- המלצה: כדאי להשתמש בשם פרויקט ייחודי כדי ש-
2. פריסת הפתרון ההתחלתי
פתרונות התחלתיים הם תבניות פתרונות מוכנות מראש מ-Google Cloud. במעבדת ה-Jump Start Solution הזו נראה איך Gemini יכול לעזור לשפר אפליקציה קיימת.
- כניסה לדף הפרטים של פתרון ה-AI/ML Image Processing Jump Start
- לוחצים על סמל התפריט (שלושה קווים)
- בתפריט המשנה מוצרים ופתרונות, לוחצים על פתרונות התחלתיים

- לוחצים על AI/ML Image Processing on Cloud Functions (עיבוד תמונות באמצעות AI/ML ב-Cloud Functions)

- לוחצים על DEPLOY
- .
- אם החיוב לא מופעל בפרויקט, צריך להפעיל את החיוב.
- מאשרים את שם הפרויקט ולוחצים על המשך.
- בוחרים באפשרות
us-central1 (Iowa)כאזור. - אם תתבקשו להזין קלט אחר, תאשרו את ברירות המחדל.
- לוחצים על DEPLOY.
- התהליך יכול להימשך עד 15 דקות.
- אתם לא צריכים לבצע שינויים, אבל אתם יכולים לעיין בפריסת הפתרון Jump Start.
פתרון בעיות
- בעיה: האם מופיעה שגיאה שאומרת
Partial deployment.?- פתרון: לצערנו, במקרה כזה כדאי למחוק את הפריסה ולהתחיל מחדש. אמור להופיע לחצן עם הכיתוב DELETE DEPLOYMENT (מחיקת הפריסה). לוחצים על הכפתור הזה ואז פורסים מחדש את פתרון ההתנעה.
3. הפעלת Gemini
הגדרת סביבת עריכת הקוד והפעלת Gemini
- עוברים אל Cloud Shell Editor
- חזרה אל מסוף Google Cloud
- מקלידים
Cloud Shell Editorבסרגל החיפוש ולוחצים על Cloud Shell Editor (עורך Cloud Shell) בתפריט הנפתח.
- אם אתם משתמשים בכלי הקודם לעריכת דוחות, לחצו על רוצה לנסות את כלי העריכה החדש?.
- הערה: אם לא מופיע הכפתור רוצה לנסות את הגרסה החדשה של Editor?, כנראה שאתם כבר משתמשים בגרסה החדשה של Editor. הגרסה הקודמת של Editor תפעל, אבל התצוגות ייראו קצת שונה.
- לוחצים על סמל הפתיחה בחלון חדש

.
- אם מתבקשים, מתחברים לחשבון או מאשרים אותו.
- בהתאם להגדרות שלכם, יכול להיות שתתבקשו לאשר את החשבון כמה פעמים במהלך ה-Lab הזה. בכל פעם שתישאלו, תצטרכו לבחור באפשרות 'אישור'.
- לוחצים על הלחצן Cloud Code - Sign in (קוד בענן – כניסה) בשורת הסטטוס התחתונה, כמו שמוצג. מאשרים את הפלאגין לפי ההוראות.

- אם מוצגת הנחיה, לוחצים על בחירת פרויקט בענן של Google ואז בוחרים את הפרויקט שבו אתם משתמשים

- הפעלת Gemini
- לוחצים על Cloud Code

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

- הערה: יכול להיות שתצטרכו לבצע שלב אחד או שניים, בהתאם לגודל המסך.
- בקטע עזרה ומשוב, לוחצים על שינוי ההגדרות.
- סוג
Gemini: Enable - מסמנים את תיבת הסימון (אם היא עדיין לא מסומנת)

- טוענים מחדש את סביבת הפיתוח המשולבת.
- כך מפעילים את Gemini ב-Cloud Code, וסרגל הסטטוס Gemini מופיע בסביבת הפיתוח המשולבת (IDE).

- לוחצים על Cloud Code
- לוחצים על הלחצן Gemini בפינה השמאלית התחתונה כמו שמוצג ובוחרים את פרויקט Google Cloud הנכון.

- אם מופיעה השגיאה
Gemini has not been enabled for your selected project. לוחצים על Enable Gemini API (הפעלת Gemini API)
.
- אם מופיעה השגיאה
- מוודאים שפרויקט Google Cloud הנכון מופיע בצד שמאל (שם הפרויקט יופיע) ו-Gemini מופעל בצד ימין, בסרגל המצב כמו שמוצג למטה:

4. הורדת הקוד של הפונקציה של Cloud Functions
מורידים את הקוד ומשתמשים ב-Gemini כדי לקבל מידע נוסף על פתרונות התחלתיים ועל הקוד שפרסתם.
- אם יצאתם מהדף, לוחצים על Cloud Code

- לוחצים על Cloud Functions
- אם מופיע הלחצן Select a project, לוחצים עליו ובוחרים את הפרויקט שעליו עובדים.
- לוחצים על הפונקציה annotate-http.
- לוחצים על סמל ההורדה לסביבת עבודה חדשה

.
- משתמשים ב-annotate-http-1 כשם סביבת העבודה (צריך להיות ברירת המחדל) ולוחצים על OK.
- פתיחת הקובץ
main.py- לוחצים על סמל הסייר
. - לוחצים על הקובץ
main.pyכדי לפתוח אותו
- לוחצים על סמל הסייר
- לוחצים על הסמל של Gemini Chat

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

- הערה: יכול להיות שתצטרכו לבצע שלב אחד או שניים, בהתאם לגודל המסך.
- אפשר לנסות לשאול את Gemini שאלה. כותבים הנחיה, למשל:
What is a Jump Start Solution in Google Cloud?Explain this code.
איפוס של Gemini Chat
ההנחיות משפיעות על הנחיות עתידיות. לדוגמה, אם תעשו טעות הקלדה במזהה הפרויקט או באזור, הטעות הזו תופיע בהנחיות ובתשובות הבאות, וזה עלול לפגוע בחוויה שלכם. אם הקלדתם מילה עם שגיאת כתיב או שאתם רוצים למחוק את ההיסטוריה מסיבה אחרת, אתם יכולים ללחוץ על סמל הפח כדי לאפס את הצ'אט.

5. הפעלת נקודת הקצה הקיימת של Cloud Functions
בודקים את הקוד ומפעילים את נקודת הקצה (endpoint) שפרסתם בפתרון Jump Start.
- מזינים את ההנחיה:
- חשוב מחליפים את
my-project-with-duetבהנחיה הבאה במזהה הפרויקט. The region is us-central1 and the project id is my-project-with-duet. Write a curl post for the /annotate-http/annotate Cloud Function endpoint that performs label detection on the default eiffel tower image.- אמורה להתקבל תגובה שכוללת פקודת curl כזו:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ ... - מעתיקים את פקודת ה-curl הזו כדי להשתמש בה בשלב הבא
- חשוב מחליפים את
- בודקים את הפקודה במסוף חדש
- לוחצים על סמל התפריט (שלושה קווים)
- לוחצים על Terminal (מסוף).
- לוחצים על New Terminal (טרמינל חדש)
. - מדביקים את פקודת ה-curl מהשלב הקודם בטרמינל ומקישים על
Enterכדי להריץ את הפקודה. - אמורה להתקבל תגובה שמתחילה כך:
{ "labelAnnotations": [ { "mid": "/m/0csby", "description": "Cloud", "score": 0.97885925, "topicality": 0.97885925, ...
- (אופציונלי) אפשר לעשות את זה עם תמונה אחרת מהאינטרנט הציבורי. לשם כך, מזינים הנחיה ל-Duet AI, למשל:
Do the same thing with the image https://storage.googleapis.com/cloud-samples-data/vision/eiffel_tower.jpg
פתרון בעיות
הערה לגבי אי-דטרמיניזם: Gemini ומוצרים אחרים שמבוססים על מודלים גדולים של שפה (LLM) הם לא דטרמיניסטיים. כלומר, אם תזינו את אותה קלט, יכול להיות שתקבלו פלטים שונים. גם אם תפעלו בדיוק לפי השלבים, יכול להיות שהפקודות לא יפעלו. השלבים האלה לפתרון בעיות אמורים לעזור לכם לפתור את הבעיות האלה.
פקודת ה-curl שנוצרה אמורה להיראות בערך כך:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"image_uri": "gs://cloud-samples-data/vision/eiffel_tower.jpg",
"features": "LABEL_DETECTION"
}' \
"https://us-central1-my-project-with-duet.cloudfunctions.net/annotate-http/annotate"
Gemini משתמש בTEST_IMAGE בקובץ main.py, שהוא תמונה של מגדל אייפל.
אם פקודת curl לא פועלת, כדאי לבדוק את הדברים הבאים:
- בעיה: האם נקודת הקצה של כתובת ה-URL כוללת את
.a.run.app?- פתרון: יכול להיות ש-Duet חושב שאתם פורסים ב-Cloud Run. מחליפים את
my-project-with-duetבמזהה הפרויקט ב-https://us-central1-my-project-with-duet.cloudfunctions.net/annotate-http/annotateכדי לקבל את נקודת הקצה הנכונה של Cloud Functions, ומשתמשים בה בפקודת curl.
- פתרון: יכול להיות ש-Duet חושב שאתם פורסים ב-Cloud Run. מחליפים את
- בעיה: האם נקודת הקצה של כתובת ה-URL כוללת את
my-project-with-duet?- פתרון: מחליפים את
my-project-with-duetבמזהה הפרויקט.
- פתרון: מחליפים את
- בעיה: האם חסר
us-central1בכתובת ה-URL של נקודת הקצה?- פתרון: מוודאים שכתובת ה-URL מתחילה ב-
us-central1, למשל:https://us-central1-my-project-with-duet.cloudfunctions.net/annotate-http/annotateעם מזהה הפרויקט.
- פתרון: מוודאים שכתובת ה-URL מתחילה ב-
- בעיה: בהתאם להנחיה שבה משתמשים, לפעמים נקודת הקצה שנוצרת תיראה כמו
cloudfunctions.net/annotate-httpאוcloudfunctions.net/annotate. האם חסר/annotate-http/annotateבסוף כתובת ה-URL של נקודת הקצה?- פתרון: מוודאים שנקודת הקצה של כתובת ה-URL מסתיימת בנתיב המלא של אפליקציית ה-API
cloudfunctions.net/annotate-http/annotate
- פתרון: מוודאים שנקודת הקצה של כתובת ה-URL מסתיימת בנתיב המלא של אפליקציית ה-API
- בעיה: בקשת cURL פועלת, אבל לא מתקבל מידע רב. האם הבקשה כוללת תכונות?
- פתרון: זו לא בעיה רצינית. אם תמשיכו בלי לשנות שום דבר, שאר המעבדה עדיין תפעל. אם רוצים לקבל מידע נוסף, אפשר לבקש מ-Duet להוסיף תכונות לבקשת cURL.
- בעיה: התשובות נראות שגויות או חסר בהן הקשר הספציפי לקוד. האם השתמשת ב-Gemini Chat ב-Cloud Shell Editor?
- פתרון: נסו לפתוח את הקובץ
main.pyולהדגיש את הקוד שקשור להנחיה בזמן שאתם משתמשים ב-Gemini Chat ב-Cloud Shell Editor. ההקשר של העוזר הדיגיטלי של Gemini ב-Google Cloud שונה, ולכן התשובות שיתקבלו יהיו שונות.
- פתרון: נסו לפתוח את הקובץ
- בעיה: התשובה להנחיה עדיין לא מדויקת.
- פתרון: כדאי לנסות הנחיה אחרת שבה אתם נותנים ל-Gemini עוד הנחיות לגבי מה שאתם רוצים שהוא ייצור. חשוב להחליף את
my-project-with-duetבמזהה הפרויקט. לדוגמה:Give me the curl command for: 1- Cloud Function running in us-central1 and project my-project-with-duet 2- HTTP POST to the following endpoint: /annotate-http/annotate endpoint 3- JSON in the body: { "image_uri": "gs://cloud-samples-data/vision/eiffel_tower.jpg", "features": "LABEL_DETECTION" }
- פתרון: כדאי לנסות הנחיה אחרת שבה אתם נותנים ל-Gemini עוד הנחיות לגבי מה שאתם רוצים שהוא ייצור. חשוב להחליף את
- בעיה: אחרי כל השלבים האלה לפתרון בעיות, עדיין לא ניתן להשתמש ב-Google Workspace.
- פתרון: בגלל האופי הלא דטרמיניסטי של מודלים מסוג LLM, יכול להיות ש-Duet יצר תשובה שלא תפעל. במקרה כזה, מעתיקים את פקודת ה-curl לדוגמה שלמעלה ומנסים להריץ אותה במסוף. חשוב להחליף את
my-project-with-duetבמזהה הפרויקט.
- פתרון: בגלל האופי הלא דטרמיניסטי של מודלים מסוג LLM, יכול להיות ש-Duet יצר תשובה שלא תפעל. במקרה כזה, מעתיקים את פקודת ה-curl לדוגמה שלמעלה ומנסים להריץ אותה במסוף. חשוב להחליף את
6. יצירת לקוח של אפליקציית אינטרנט עבור ה-API
משתמשים ב-Gemini כדי ליצור קובץ index.html שקורא לנקודת הקצה של פונקציית Cloud Functions של פתרון Jump Start. לאחר מכן פורסים את הקובץ index.html ב-אירוח ב-Firebase כדי לראות את הקוד בפעולה.
- יצירת קוד בצד הלקוח
- בתיבת הצ'אט עם Gemini, מזינים את ההנחיה:
Write an index.html file that takes two inputs: a text input for the image_uri and a dropdown for the features. It should make a post request and display the raw json result to the DOM. The fetch call should use the full url beginning with https. The default image_uri should be gs://cloud-samples-data/vision/eiffel_tower.jpg.
- מעתיקים את קובץ ה-
index.htmlשנוצר בתשובה.- הערה: תצטרכו את הקוד הזה בהמשך, לכן כדאי לשמור אותו במקום כלשהו אם אתם חוששים שתאבדו אותו.
- סגירה של
main.py
- בתיבת הצ'אט עם Gemini, מזינים את ההנחיה:
- יצירת ספרייה חדשה
frontend- אתם יכולים לשאול את Gemini משהו כמו:
What are the console commands to create and navigate to a new frontend directory?
- אמורות להופיע תוצאות כמו
mkdir frontendו-cd frontend. - משתמשים בטרמינל של Cloud Shell כדי לוודא שאתם עדיין בספרייה
annotate-http-1ומריצים את הפקודות האלה:cd ~/annotate-http-1mkdir frontendcd frontend
- אתם יכולים לשאול את Gemini משהו כמו:
- מוודאים שאתם מחוברים לפרויקט הנכון בטרמינל של Cloud Shell
- אתם יכולים לשאול את Gemini משהו כמו:
What is the gcloud command to set my project?
- אמורה להתקבל תוצאה כמו
gcloud config set project my-project-with-duet- מוודאים שמזהה הפרויקט נכון, ואז מריצים את הפקודה במסוף Cloud Shell.
- אתם יכולים לשאול את Gemini משהו כמו:
- הפעלת Firebase
- בכרטיסייה חדשה (משאירים את Cloud Shell Editor פתוח), נכנסים לכתובת https://console.firebase.google.com/
- לוחצים על הוספת פרויקט.
- מקלידים את מזהה הפרויקט ומחכים שהוא יופיע בתפריט הנפתח.
- לוחצים על מזהה הפרויקט.
- לוחצים על המשך.
- לוחצים על אישור התוכנית.
- לוחצים על המשך.
- מבטלים את הסימון של האפשרות הפעלת Google Analytics בפרויקט הזה
- ב-Firebase מומלץ להשתמש ב-Google Analytics, אבל לא נעשה בהם שימוש באפליקציה הזו.
- לוחצים על המשך.
- סוגרים את הכרטיסייה הזו וחוזרים ל-Cloud Shell Editor.
- הערה: השלבים האלה נדרשים רק למשתמשים שלא השתמשו ב-Firebase בעבר, אבל הם מאפשרים לכולם לפעול באותו אופן. אם תעשו את זה שוב בעתיד, תוכלו לדלג על השלב הזה.
- מתחברים ל-Firebase ב-Cloud Shell
- בטרמינל של Cloud Shell Editor, מריצים את הפקודה
firebase login --no-localhost - כניסה לכתובת ה-URL שצוינה
- לוחצים על כן, הרצתי את הפקודה הזו.
- לוחצים על כן, זה מזהה הסשן שלי.
- לוחצים על העתקה.
- חזרה לטרמינל של Cloud Shell Editor
- מדביקים את הערך שהעתקתם במסוף במקום שבו כתוב:
Enter authorization code: - לחיצה על
Enter
- בטרמינל של Cloud Shell Editor, מריצים את הפקודה
- פריסת אתר חדש באירוח ב-Firebase
- הפעלת פרויקט חדש ב-Firebase
- אתם יכולים לשאול את Gemini משהו כמו:
What are the commands to initialize and deploy a new firebase application?
- אמורות להופיע תוצאות כמו
firebase initו-firebase deployעם הוראות. - יש הרבה דרכים אפשריות לעשות את זה, ו-Gemini יכול להמליץ על דרכים שונות בהתאם להעדפות שלכם. הנה המלצה ספציפית שתוכלו לפעול לפיה:
firebase init- מקישים על החץ למטה עד שמגיעים אל
Hosting: Configure files for Firebase Hosting and (optionally) set up GitHub Action deploys- .
- לוחצים על הסרגל
Space. - לחיצה על
Enter
- לוחצים על הסרגל
- מקישים על החץ למטה עד שמגיעים אל
Use an existing project- .
- לחיצה על
Enter
- לחיצה על
- אם מוצגת רשימת פרויקטים, לוחצים על החץ למטה עד שמגיעים לפרויקט שבו משתמשים היום
- לחיצה על
Enter
- לחיצה על
- אם מתבקשים
Please input the ID of the Google Cloud Project you would like to add Firebase:- מקלידים את מזהה הפרויקט.
- לחיצה על
Enter
- לכל שאר ההנחיות, לוחצים על
Enter
- מקישים על החץ למטה עד שמגיעים אל
firebase deploy
- אתם יכולים לשאול את Gemini משהו כמו:
- הפעלת פרויקט חדש ב-Firebase
- פורסים מחדש את האפליקציה באמצעות קריאה לנקודת קצה ל-API של Cloud Functions:
- הפקודות הקודמות אמורות ליצור ספרייה בשם
publicעם קובץ בשםindex.htmlבתוך הספרייהfrontendשיצרתם קודם. בקובץ~/annotate-http-1/frontend/public/index.htmlצריך לבצע את השינויים הבאים. - פותחים את הקובץ
index.html.- לוחצים על סמל הסייר
. - לוחצים על התיקייה
frontend. - לוחצים על התיקייה
public. - לוחצים על קובץ
index.html
- לוחצים על סמל הסייר
- מרוקנים את הקובץ הקיים
index.html. - מדביקים את הקוד שהעתקתם קודם לקובץ
index.html. - מריצים את הפקודה
firebase deployכדי לפרוס את האפליקציה החדשה - כדי לבדוק אם האתר פועל, עוברים לכתובת ה-URL של Firebase Hosting.
- הערה: סביר להניח שתצטרכו לבצע רענון מלא של האתר כדי לראות את העדכונים.
- הפקודות הקודמות אמורות ליצור ספרייה בשם
פתרון בעיות
קובץ index.html אמור להיראות כך:
<!DOCTYPE html>
<html>
<head>
<title>Vision API Annotate Image</title>
</head>
<body>
<h1>Vision API Annotate Image</h1>
<form id="annotate-form" action="https://us-central1-my-project-with-duet.cloudfunctions.net/annotate-http/annotate" method="POST">
<label for="image-uri">Image URI:</label>
<input type="text" id="image-uri" name="image_uri" value="gs://cloud-samples-data/vision/eiffel_tower.jpg">
<br>
<label for="features">Features:</label>
<select id="features" name="features">
<option value="LABEL_DETECTION">LABEL_DETECTION</option>
<option value="TEXT_DETECTION">TEXT_DETECTION</option>
<option value="IMAGE_PROPERTIES">IMAGE_PROPERTIES</option>
</select>
<br>
<input type="submit" value="Annotate">
</form>
<div id="result"></div>
<script>
const form = document.getElementById('annotate-form');
form.addEventListener('submit', (event) => {
event.preventDefault();
const imageUri = document.getElementById('image-uri').value;
const features = document.getElementById('features').value;
const data = {
image_uri: imageUri,
features: features,
};
fetch('https://us-central1-my-project-with-duet.cloudfunctions.net/annotate-http/annotate', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(data),
})
.then((response) => response.json())
.then((result) => {
const resultElement = document.getElementById('result');
resultElement.innerHTML = JSON.stringify(result, null, 2);
});
});
</script>
</body>
</html>
אם האתר לא פועל, כדאי לבדוק את הדברים הבאים:
- בעיה: 404 (לא נמצא) האם כתובת ה-URL שמשמשת בשיטת
fetchכוללת אתmy-project-with-duet?- פתרון: מחליפים את
my-project-with-duetבמזהה הפרויקט.
- פתרון: מחליפים את
- בעיה: 404 (לא נמצא) האם כתובת ה-URL שמשמשת בשיטה
fetchחסרה את כתובת ה-URL המלאה?- פתרון: חשוב לכלול את כתובת ה-URL המלאה בשיטה
fetch. הוא אמור להיראות כך:https://us-central1-my-project-with-duet.cloudfunctions.net/annotate-http/annotate
- פתרון: חשוב לכלול את כתובת ה-URL המלאה בשיטה
- בעיה: התשובה להנחיה עדיין לא מדויקת.
- פתרון: כדאי לנסות הנחיה אחרת שבה אתם נותנים ל-Gemini עוד הנחיות לגבי מה שאתם רוצים שהוא ייצור. חשוב להחליף את
my-project-with-duetבמזהה הפרויקט. לדוגמה:Write an index.html file that takes two inputs: a text input for the image_uri and a dropdown for the features. It should make a post request and display the raw json result to the DOM. The fetch call should use https://us-central1-my-project-with-duet.cloudfunctions.net/annotate-http/annotate. The default image_uri should be gs://cloud-samples-data/vision/eiffel_tower.jpg.
- פתרון: כדאי לנסות הנחיה אחרת שבה אתם נותנים ל-Gemini עוד הנחיות לגבי מה שאתם רוצים שהוא ייצור. חשוב להחליף את
- בעיה: האתר שלכם נפרס, אבל הוא לא פועל?
- פתרון: בגלל האופי הלא דטרמיניסטי של מודלים מסוג LLM, יכול להיות ש-Duet יצר תשובה שלא תפעל. במקרה כזה, מעתיקים את הדוגמה
index.htmlשלמעלה ומנסים לפרוס אותה מחדש באמצעותfirebase deploy. חשוב להחליף אתmy-project-with-duetבמזהה הפרויקט.
- פתרון: בגלל האופי הלא דטרמיניסטי של מודלים מסוג LLM, יכול להיות ש-Duet יצר תשובה שלא תפעל. במקרה כזה, מעתיקים את הדוגמה
7. (אופציונלי) פתיחת ניתוח
- אפשר להשתמש ב-Gemini ובעוזר בתוך העורך כדי להוסיף סגנונות CSS לאפליקציה ולפרוס אותה מחדש כשמסיימים. אם אתם מחפשים השראה, הנה דוגמה להנחיה שאפשר לנסות:
Make this index.html file use material design.
- דברים נוספים שאפשר לנסות:
- האתר שנוצר צריך לפעול עם כל תמונה ציבורית
http. עובדים עם Duet כדי להציג את התמונה בדף.
- האתר שנוצר צריך לפעול עם כל תמונה ציבורית
8. (אופציונלי) מחיקת הפרויקט
אם אתם רוצים להימנע מחיוב על המשאבים שיצרתם היום, אתם יכולים לשאול את Duet איך לעשות את זה.
- מזינים את ההנחיה:
How can I delete my project?- אמורה להתקבל תוצאה כמו
gcloud projects delete my-project-with-duet. - חשוב: מחליפים את
my-project-with-duetבפקודה הקודמת במזהה הפרויקט.
- מריצים את הפקודה
gcloud projects deleteכדי להסיר את כל המשאבים שיצרתם היום.