1. بررسی اجمالی
در این آزمایشگاه، شما از محصولات هوش مصنوعی مولد Google برای ایجاد زیرساخت در Google Cloud با کمک Gemini Cloud Assist، پرس و جو از داده های BigQuery با استفاده از زبان طبیعی به ویژگی های SQL Data Canvas، نوشتن کد در نوت بوک های Colab Enterprise Jupyter و در Eclipse Theia (ویژوال های Gemini Code و ویژگی های ساخته شده Gemini Code و ویژگی های جست و جوی Gemini در As AI) با کمک ویژگی های SQL می نویسید. منابع زمینی ذخیره سازی ابری و BigQuery در Vertex AI Agent Builder.
هدف ما ایجاد یک وب سایت دستور العمل و آشپزی به نام AI Recipe Haven است. این سایت در پایتون و استریم لیت ساخته خواهد شد و شامل دو صفحه اصلی خواهد بود. Cooking Advice میزبان چت باتی است که ما با استفاده از Gemini و یک منبع مبتنی بر Vertex AI Agent Builder متصل به گروهی از کتابهای آشپزی ایجاد خواهیم کرد، و توصیههای آشپزی و پاسخ به سؤالات مربوط به آشپزی را ارائه میدهد. Recipe Search یک موتور جستجو خواهد بود که توسط Gemini تغذیه می شود، این بار در پایگاه داده دستور العمل BigQuery پایه گذاری شده است.
اگر به هر کدام از کدهای این تمرین قطع میشوید، راهحلهای همه فایلهای کد در مخزن تمرین GitHub در شاخه راه حل قرار دارند.
اهداف
در این آزمایشگاه می آموزید که چگونه وظایف زیر را انجام دهید:
- Gemini Cloud Assist را فعال کرده و از آن استفاده کنید
- یک برنامه جستجو در Vertex AI Agent Builder برای چت ربات مشاوره آشپزی ایجاد کنید
- با کمک Gemini Code Assist، داده ها را در یک نوت بوک Colab Enterprise بارگیری و پاک کنید
- یک برنامه جستجو در Vertex AI Agent Builder برای مولد دستور غذا ایجاد کنید
- با کمک کمی جمینی، برنامه اصلی Python و Streamlit را قاب کنید
- برنامه وب را در Cloud Run مستقر کنید
- صفحه مشاوره آشپزی را به برنامه سازنده کتاب آشپزی ما وصل کنید
- (اختیاری) صفحه Recipe Search را به برنامه Recipe-search Agent Builder متصل کنید
- (اختیاری) برنامه نهایی را کاوش کنید
2. پیش نیازها
- اگر قبلاً یک حساب Google ندارید، باید یک حساب Google ایجاد کنید .
- از حساب شخصی به جای حساب کاری یا مدرسه استفاده کنید. حسابهای محل کار و مدرسه ممکن است محدودیتهایی داشته باشند که شما را از فعال کردن APIهای مورد نیاز برای این آزمایشگاه باز میدارد.
3. راه اندازی پروژه
- به Google Cloud Console وارد شوید.
- صورتحساب را در کنسول Cloud فعال کنید .
- تکمیل این آزمایشگاه باید کمتر از 1 دلار آمریکا در منابع Cloud هزینه داشته باشد.
- برای جلوگیری از هزینه های بیشتر، می توانید مراحل انتهای این آزمایشگاه را برای حذف منابع دنبال کنید.
- کاربران جدید واجد شرایط استفاده از نسخه آزمایشی رایگان 300 دلاری هستند.
- شرکت در یک رویداد آزمایشگاهی عملی مجازی؟ اعتبار 5 دلاری ممکن است در دسترس باشد.
- یک پروژه جدید ایجاد کنید یا استفاده مجدد از یک پروژه موجود را انتخاب کنید.
- تأیید اینکه صورتحساب در پروژههای من در صورتحساب ابری فعال است
- اگر پروژه جدید شما می گوید که صورتحساب در ستون
Billing account
Billing is disabled
:- روی سه نقطه در ستون
Actions
کلیک کنید - روی تغییر صورتحساب کلیک کنید
- حساب صورتحساب مورد نظر برای استفاده را انتخاب کنید
- روی سه نقطه در ستون
- اگر در یک رویداد زنده شرکت میکنید، احتمالاً این حساب Google Cloud Platform Trial Billing Account نامیده میشود
- اگر پروژه جدید شما می گوید که صورتحساب در ستون
4. Gemini Cloud Assist را فعال کرده و از آن استفاده کنید
در این کار ما Gemini Cloud Assist را فعال و استفاده می کنیم. هنگام کار در Google Cloud Console، Gemini Cloud Assist می تواند مشاوره ارائه دهد، در ساخت، پیکربندی و نظارت بر زیرساخت Google Cloud به شما کمک کند و حتی می تواند دستورات gcloud
را پیشنهاد دهد و اسکریپت های Terraform بنویسد.
- برای فعال کردن Cloud Assist برای استفاده، روی کادر جستجو در بالای رابط کاربری Cloud Console کلیک کنید و Ask Gemini یا Ask Gemini for Cloud console را انتخاب کنید.
- به بخش Required API صفحه بروید و Gemini for Google Cloud API را فعال کنید .
- اگر بلافاصله رابط چت را نمیبینید، روی شروع چت کلیک کنید. با درخواست از Gemini برای توضیح برخی از مزایای استفاده از Cloud Shell Editor شروع کنید. چند دقیقه وقت بگذارید تا پاسخ ایجاد شده را بررسی کنید.
- در مرحله بعد، در مورد مزایای Agent Builder و اینکه چگونه می تواند به پاسخ های مولد زمین کمک کند، بپرسید.
- در نهایت بیایید به مقایسه نگاه کنیم. در پنجره چت Gemini کنسول Google Cloud، سؤال زیر را بپرسید:
What are the major steps to creating a search app grounded in a GCS data source using Vertex AI Agent builder?
5. یک برنامه جستجو در Vertex AI Agent Builder برای چت ربات مشاوره آشپزی ایجاد کنید
وبسایتی که ما در حال ساختن آن هستیم دارای یک صفحه مشاوره آشپزی است که حاوی یک ربات چت است که برای کمک به کاربران در یافتن پاسخ سؤالات مربوط به آشپزی طراحی شده است. این توسط Gemini مبتنی بر منبعی حاوی 70 کتاب آشپزی با دامنه عمومی ارائه می شود. کتابهای آشپزی به عنوان منبع حقیقتی عمل میکنند که جمینی هنگام پاسخ دادن به سؤالات از آن استفاده میکند.
- از کادر جستجوی Cloud Console برای پیمایش به Vertex AI استفاده کنید. از داشبورد، روی Enable All Recommended APIs کلیک کنید. این ممکن است چند دقیقه طول بکشد. اگر یک کادر بازشو در مورد Vertex AI API دریافت کردید که باید فعال شود، لطفاً آن را نیز فعال کنید . هنگامی که API ها فعال شدند، می توانید به مرحله بعدی بروید.
- برای رفتن به Agent Builder از جستجو استفاده کنید و سپس API را ادامه دهید و فعال کنید .
- همانطور که Gemini در مشاوره قبلی ما پیشنهاد کرد، ایجاد یک برنامه جستجو در Agent Builder با ایجاد یک منبع داده معتبر شروع می شود. هنگامی که کاربر جستجو میکند، Gemini سؤال و نحوه نوشتن پاسخهای هوشمند را میفهمد، اما بهجای بیرون کشیدن از دانش ذاتی خود، به منبع پایه برای اطلاعات استفاده شده در آن پاسخ نگاه میکند. از منوی سمت چپ، به Data Stores و Create Data Store بروید.
- کتابهای آشپزی با مالکیت عمومی که برای پایهگذاری صفحه مشاوره آشپزی خود استفاده میکنیم، در حال حاضر در یک سطل فضای ذخیرهسازی ابری در یک پروژه خارجی قرار دارند. نوع منبع Cloud Storage را انتخاب کنید .
- بررسی کنید اما گزینه های پیش فرض مربوط به نوع اطلاعاتی که وارد می کنیم را تغییر ندهید. نوع import را روی Folder بگذارید و برای مسیر سطل از:
labs.roitraining.com/labs/old-cookbooks
و سپس Continue استفاده کنید. - نام ذخیره داده:
old-cookbooks
. روی EDIT کلیک کنید و شناسه را بهold-cookbooks-id
تغییر دهید و ذخیره داده را ایجاد کنید .
سازنده Vertex AI Agent از چندین نوع برنامه پشتیبانی می کند و Data Store به عنوان منبع حقیقت برای هر کدام عمل می کند. برنامه های جستجو برای استفاده عمومی و جستجو خوب هستند. برنامههای چت برای جریانهای مولد در برنامههای چت ربات/ربات صوتی مبتنی بر Dataflow هستند. برنامههای توصیهها به ایجاد موتورهای توصیه بهتر کمک میکنند. و برنامههای Agent برای ایجاد عوامل مبتنی بر GenAI هستند. در نهایت، احتمالاً Agent در کاری که میخواهیم انجام دهیم بهترین خدمات را به ما میدهد، اما با توجه به اینکه محصول در حال حاضر در حال پیشنمایش است، از نوع برنامه جستجو استفاده میکنیم.
- از منوی سمت چپ برای پیمایش به برنامه ها استفاده کنید، سپس روی ایجاد برنامه جدید کلیک کنید.
- روی Create در جستجوی کارت وب سایت خود کلیک کنید. نام برنامه را
cookbook-search
بگذارید. روی Edit کلیک کنید و شناسه برنامه را رویcookbook-search-id
تنظیم کنید. شرکت را رویGoogle
تنظیم کنید و روی Continue کلیک کنید. - ذخیره اطلاعات کتابهای آشپزی قدیمی را که چند قدم پیش ایجاد کردهاید بررسی کنید و برنامه جستجو را ایجاد کنید .
اگر برگه Activity را بررسی کنید، احتمالاً خواهید دید که کتابهای آشپزی همچنان در حال وارد کردن و نمایهسازی هستند. بیش از 5 دقیقه طول می کشد تا Agent Builder هزاران صفحه موجود در 70 کتاب آشپزی را که به آن داده ایم فهرست کند. در حالی که کار می کند، بیایید برخی از داده های پایگاه داده دستور العمل ها را برای مولد دستور غذا بارگیری و پاک کنیم.
6. با کمک Gemini Code Assist، داده ها را در نوت بوک Colab Enterprise بارگیری و پاک کنید.
Google Cloud چند راه اصلی برای کار با نوت بوک های Jupyter ارائه می دهد. ما قصد داریم از جدیدترین پیشنهاد Google، Colab Enterprise استفاده کنیم. ممکن است برخی از شما با محصول Google Colab آشنا باشید، که معمولاً توسط افراد و سازمانهایی استفاده میشود که میخواهند نوتبوکهای Jupyter را در یک محیط رایگان تجربه کنند. Colab Enterprise یک پیشنهاد تجاری Google Cloud است که به طور کامل با سایر محصولات ابری Google یکپارچه شده است و از قابلیتهای امنیتی و انطباق محیط GCP بهره میبرد.
یکی از ویژگی هایی که Colab Enterprise ارائه می دهد، ادغام با Gemini Code Assist گوگل است. Code Assist ممکن است در تعدادی از ویرایشگرهای کد مختلف مورد استفاده قرار گیرد و می تواند هنگام کدنویسی، مشاوره و همچنین پیشنهادات درون خطی یکپارچه ارائه دهد. ما از این دستیار مولد استفاده خواهیم کرد در حالی که داده های دستور پخت خود را با هم درگیر می کنیم.
- برای رفتن به Colab Enterprise از جستجو استفاده کنید و روی ایجاد نوت بوک کلیک کنید. اگر پیشنهادی برای آزمایش ویژگیهای جدید Colab دریافت کردید، آن را رد کنید. برای دریافت زمان اجرا، قدرت محاسباتی پشت نوت بوک، روی اتصال در گوشه سمت راست بالای نوت بوک جدید خود کلیک کنید.
- برای تغییر نام نوت بوک به
Data Wrangling
، روی File > Rename کلیک کنید. - برای ایجاد یک جعبه متن جدید، روی + Text کلیک کنید و از فلش بالا برای جابجایی آن استفاده کنید تا اولین سلول صفحه باشد.
- کادر متن را ویرایش کنید و وارد کنید:
# Data Wrangling Import the Pandas library
- در بلوک کد زیر بلوک متنی که به تازگی ایجاد کردهاید، شروع به تایپ
imp
کنید و Gemini Code Assist باید بقیه واردات را به رنگ خاکستری پیشنهاد کند. برای پذیرش پیشنهاد، tab را فشار دهید.import pandas as pd
- در زیر کادر کد وارد کردن، کادر متن دیگری ایجاد کنید و وارد کنید:
Create a Pandas DataFrame from: gs://labs.roitraining.com/labs/recipes/recipe_dataset.csv. View the first few records.
- یک بلوک کد دیگر ایجاد و ویرایش کنید. دوباره شروع به تایپ
df =
کنید و کد تولید شده توسط Gemini Code Assistant را بررسی کنید. اگر فهرستی از کلیدواژههای پایتون را تکمیل خودکار روی پیشنهاد تولید شده مشاهده کردید، برای مشاهده کد پیشنهادی خاکستری روشن، Escape را بزنید. برای پذیرش پیشنهاد مجدداً برگه را بزنید . اگر پیشنهاد شما شامل فراخوانی تابعhead()
نبود، آن را اضافه کنید.df = pd.read_csv('gs://labs.roitraining.com/labs/recipes/recipe_dataset.csv') df.head()
- روی اولین سلول کد خود، جایی که پانداها را وارد کردید، کلیک کنید و از منوی Commands یا صفحه کلید برای اجرای سلول انتخاب شده استفاده کنید. در صفحه کلید shift+enter سلول را اجرا می کند و فوکوس را به سلول بعدی منتقل می کند و در صورت نیاز یکی ایجاد می کند. قبل از ادامه کار منتظر بمانید تا سلول اجرا شود. توجه: زمانی که سلولی اجرا نشده باشد، [ ] را در سمت چپ مشاهده خواهید کرد. در حالی که یک سلول در حال اجرا است، یک انیمیشن در حال چرخش و کار خواهید دید. هنگامی که سلول تمام شد، یک عدد ظاهر می شود، مانند [13].
- سلولی را که CSV را در DataFrame بارگذاری می کند، اجرا کنید. صبر کنید تا فایل بارگیری شود و پنج ردیف اول داده ها را بررسی کنید. این دادههای دستور پختی است که ما در BigQuery بارگذاری میکنیم و در نهایت از آن برای زمینسازی ژنراتور دستور غذا استفاده میکنیم.
- یک بلوک کد جدید ایجاد کنید و نظر زیر را وارد کنید. پس از تایپ نظر، به خط کد بعدی بروید و باید پیشنهاد
df.columns
را دریافت کنید. آن را بپذیرید و سپس سلول را اجرا کنید. ما به تازگی نشان دادیم که شما واقعاً دو انتخاب دارید که چگونه از Gemini Code Assist در نوت بوک Jupyter کمک بگیرید: سلولهای متنی بالای سلولهای کد، یا نظرات درون خود سلول کد. نظرات درون سلولهای کد در نوتبوکهای Jupyter به خوبی کار میکنند، اما این رویکرد در هر IDE دیگری که از کمک کد Gemini Google پشتیبانی میکند نیز کار خواهد کرد.# List the current DataFrame column names
- بیایید یک پاکسازی ستون کوچک انجام دهیم. نام ستون را
Unnamed: 0
بهid
وlink
بهuri
. از تکنیکهای prompt > code برای ایجاد کد استفاده کنید، سپس در صورت رضایت سلول را اجرا کنید.# Rename the column 'Unnamed: 0' to 'id' and 'link' to 'uri' df.rename(columns={'Unnamed: 0': 'id', 'link': 'uri'}, inplace=True)
- ستون های
source
وNER
را حذف کنید وhead()
برای مشاهده چند ردیف اول استفاده کنید. باز هم از Gemini کمک بگیرید. دو خط آخر را اجرا کنید و نتایج را بررسی کنید.# Remove the source and NER columns df.drop(columns=['source', 'NER'], inplace=True) df.head()
- بیایید ببینیم چند رکورد در مجموعه داده ما وجود دارد. مجدداً با انتخاب تکنیک درخواست شروع کنید و ببینید آیا می توانید Gemini را برای ایجاد کد به شما کمک کند.
# Count the records in the DataFrame df.shape # count() will also work
- 2.23 میلیون رکورد احتمالاً بیشتر از زمانی است که برای آن زمان داریم. روند نمایه سازی در Agent Builder احتمالاً برای تمرین امروز ما بسیار طولانی خواهد بود. به عنوان یک مصالحه، بیایید 150000 دستور غذا را نمونه برداری کنیم و با آن کار کنیم. برای گرفتن نمونه و ذخیره آن در یک DataFrame جدید به نام
dfs
(s برای کوچک) از رویکرد prompt > code خود استفاده کنید.# Sample out 150,000 records into a DataFrame named dfs dfs = df.sample(n=150000)
- اطلاعات منبع دستور پخت ما برای بارگیری در BigQuery آماده است. قبل از اینکه بارگذاری را انجام دهیم، بیایید به BigQuery برویم و مجموعه داده ای را برای نگهداری جدول خود آماده کنیم. در Google Cloud Console از جعبه جستجو برای پیمایش به BigQuery استفاده کنید. ممکن است روی BigQuery راست کلیک کرده و آن را در یک برگه مرورگر جدید باز کنید.
- اگر از قبل قابل مشاهده نیست، پنل Gemini AI Chat را با استفاده از لوگوی Gemini در سمت راست بالای کنسول Cloud باز کنید. اگر از شما خواسته شد که API را دوباره فعال کنید، یا فعال کردن را فشار دهید یا صفحه را بازخوانی کنید. دستور را اجرا کنید:
What is a dataset used for in BigQuery?
پس از بررسی پاسخ سؤال،How can I create a dataset named recipe_data using the Cloud Console?
نتایج را با چند مرحله زیر مقایسه کنید. - در صفحه BigQuery Explorer، روی منوی سه نقطه مشاهده اقدامات در کنار شناسه پروژه خود کلیک کنید. سپس Create database را انتخاب کنید.
- مجموعه داده و شناسه
recipe_data
را بدهید. نوع مکان را به US بسپارید و مجموعه داده را ایجاد کنید . اگر خطایی دریافت کردید که مجموعه داده از قبل وجود دارد، به سادگی ادامه دهید. با مجموعه داده ایجاد شده در BigQuery، بیایید به دفترچه خود برگردیم و درج را انجام دهیم. - در Colab Enterprise به نوت بوک Data Wrangling خود برگردید. در یک سلول کد جدید، یک متغیر به نام
project_id
ایجاد کنید و از آن برای نگهداری ID پروژه فعلی خود استفاده کنید. در سمت چپ بالای این دستورالعمل ها، زیر دکمه پایان آزمایشگاه نگاه کنید، و ID پروژه فعلی را پیدا خواهید کرد. در صورت تمایل در صفحه اصلی Cloud Console نیز موجود است. مقدار را به متغیرproject_id
خود اختصاص دهید و سلول را اجرا کنید.# Create a variable to hold the current project_id project_id='YOUR_PROJECT_ID'
- از رویکرد prompt > code برای ایجاد یک بلوک کد استفاده کنید که
dfs
DataFrame را در جدولی به نامrecipes
درrecipe_data
دادهای که ما به تازگی ایجاد کردیم، وارد میکند. سلول را اجرا کنید.dfs.to_gbq(destination_table='recipe_data.recipes', project_id=project_id, if_exists='replace')
7. یک برنامه جستجو در Vertex AI Agent Builder برای ژنراتور دستور غذا ایجاد کنید
بسیار عالی، با جدول دادههای دستور پخت ما، بیایید از آن برای ایجاد یک منبع داده پایه برای تولیدکننده دستور غذا استفاده کنیم. رویکردی که ما استفاده خواهیم کرد مشابه کاری است که برای چت ربات آشپزی خود انجام دادیم. ما از Vertex AI Agent Builder برای ایجاد یک فروشگاه داده استفاده می کنیم و سپس از آن به عنوان منبع حقیقت برای یک برنامه جستجو استفاده می کنیم.
اگر دوست دارید، از Gemini در Google Cloud Console بخواهید تا مراحل ایجاد یک برنامه جستجوی Agent Builder را به شما یادآوری کند، یا می توانید مراحل ذکر شده در زیر را دنبال کنید.
- برای رفتن به Agent Builder از Search استفاده کنید. Data Stores را باز کنید و Data Store را ایجاد کنید . این بار نوع BigQuery Data Store را انتخاب کنید .
- در سلول انتخاب جدول، Browse را فشار دهید و
recipes
را جستجو کنید. دکمه رادیویی کنار میز خود را انتخاب کنید. اگر دستور العملهایی از پروژههای qwiklabs-gcp-... دیگر میبینید، حتماً موردی را که متعلق به شماست انتخاب کنید . توجه: اگر به جای انتخاب دکمه رادیویی کنار آن، رویrecipes
کلیک کنید، یک برگه جدید در مرورگر شما باز میشود و شما را به صفحه نمای کلی جدول در BigQuery میبرد. فقط تب مرورگر را ببندید و دکمه رادیویی را در Agent Builder انتخاب کنید. - بررسی کنید اما بقیه گزینههای پیشفرض را تغییر ندهید، سپس Continue .
- در صفحه بررسی طرحواره، تنظیمات اولیه پیش فرض را بررسی کنید، اما چیزی را تغییر ندهید. ادامه دهید
- نام datastore
recipe-data
بگذارید. شناسه datastore را ویرایش کنید و آن را رویrecipe-data-id
تنظیم کنید. فروشگاه داده را ایجاد کنید . - با استفاده از منوی پیمایش سمت چپ به برنامه ها بروید و یک برنامه جدید ایجاد کنید .
- روی Create در جستجوی کارت وب سایت خود کلیک کنید. برنامه
recipe-search
را نام گذاری کنید و روی EDIT کلیک کنید تا شناسه رویrecipe-search-id
تنظیم شود. نام شرکت را رویGoogle
و Continue قرار دهید. - این بار، منابع داده دستور العمل را بررسی کنید. برنامه را ایجاد کنید .
مدتی طول می کشد تا جدول پایگاه داده ما نمایه شود. در حالی که این کار را می کند، بیایید با Data Canvas جدید BigQuery آزمایش کنیم و ببینیم آیا می توانیم یک یا دو دستور العمل جالب پیدا کنیم.
- از کادر جستجو برای پیمایش به BigQuery استفاده کنید. در بالای استودیو BigQuery، روی فلش رو به پایین در کنار برگه سمت راست کلیک کنید و Data canvas را انتخاب کنید. منطقه را روی us-central1 تنظیم کنید.
- روی جستجوی داده کلیک کنید. در کادر جستجوی بوم داده،
recipes
را جستجو کنید،Enter/Return
برای جستجو فشار دهید و روی دکمه افزودن به بوم در کنار نام جدول خود کلیک کنید. - یک نمایش تصویری از جدول دستور العمل های شما در بوم BigQuery Data بارگذاری می شود. میتوانید طرحواره جدول را بررسی کنید، دادههای موجود در جدول را پیشنمایش کنید و جزئیات دیگر را بررسی کنید. در زیر نمایش جدول، روی Query کلیک کنید.
- بوم یک گفتگوی کم و بیش معمولی پرس و جوی BigQuery را با یک اضافه بارگذاری می کند: بالای پنجره پرس و جو یک کادر متنی وجود دارد که می توانید از آن برای درخواست کمک از Gemini استفاده کنید. بیایید ببینیم آیا می توانیم دستور العمل های کیک را در نمونه خود پیدا کنیم. دستور زیر را اجرا کنید (با تایپ متن و فشار دادن
Enter/Return
برای شروع تولید SQL):Please select the title and ingredients for all the recipes with a title that contains the word cake.
- به SQL تولید شده نگاه کنید. وقتی راضی شدید، پرس و جو را اجرا کنید .
- نه خیلی کهنه! قبل از حرکت با چند درخواست و پرس و جو دیگر راحت باشید. وقتی آزمایش میکنید، درخواستهای کمتر خاص را امتحان کنید تا ببینید چه چیزی جواب میدهد و چه چیزی جواب نمیدهد. به عنوان مثال، این دستور:
(فراموش نکنید پرس و جوی جدید را اجرا کنید) فهرستی از دستور العمل های فلفل قرمز را برگرداندم اما مواد را کنار گذاشتم تا زمانی که آن را به این صورت تغییر دادم:Do I have any chili recipes?
(بله، وقتی درخواست می کنم می گویم خواهش می کنم. مادرم خیلی مغرور خواهد بود.) متوجه شدم که یک دستور پخت فلفل قرمز حاوی قارچ است، و چه کسی آن را در فلفل قرمز می خواهد؟ از جمینی خواستم که به من کمک کند آن دستور العمل ها را حذف کنم.Do I have any chili recipes? Please include their title and ingredients.
Do I have any chili recipes? Please include their title and ingredients, and ignore any recipes with mushrooms as an ingredient.
8. Cloud Shell Editor را باز کنید
- به Cloud Shell Editor بروید
- اگر ترمینال در پایین صفحه ظاهر نشد، آن را باز کنید:
- روی منوی همبرگر کلیک کنید
- روی ترمینال کلیک کنید
- روی New Terminal کلیک کنید
- روی منوی همبرگر کلیک کنید
- در ترمینال، پروژه خود را با این دستور تنظیم کنید:
- قالب:
gcloud config set project [PROJECT_ID]
- مثال:
gcloud config set project lab-project-id-example
- اگر نمی توانید شناسه پروژه خود را به خاطر بسپارید:
- می توانید تمام شناسه های پروژه خود را با موارد زیر فهرست کنید:
gcloud projects list | awk '/PROJECT_ID/{print $2}'
- می توانید تمام شناسه های پروژه خود را با موارد زیر فهرست کنید:
- قالب:
- اگر از شما خواسته شد که مجوز دهید، برای ادامه روی تأیید کلیک کنید.
- شما باید این پیام را ببینید:
اگر یکUpdated property [core/project].
WARNING
مشاهده کردید و از شما پرسیده شدDo you want to continue (Y/N)?
، پس احتمالاً شناسه پروژه را اشتباه وارد کرده اید.N
را فشار دهید،Enter
فشار دهید و دوباره دستورgcloud config set project
را اجرا کنید.
9. API ها را فعال کنید
در ترمینال، API ها را فعال کنید:
gcloud services enable \
compute.googleapis.com \
sqladmin.googleapis.com \
run.googleapis.com \
artifactregistry.googleapis.com \
cloudbuild.googleapis.com \
networkconnectivity.googleapis.com \
servicenetworking.googleapis.com \
cloudaicompanion.googleapis.com
اگر از شما خواسته شد که مجوز دهید، برای ادامه روی تأیید کلیک کنید.
تکمیل این دستور ممکن است چند دقیقه طول بکشد، اما در نهایت باید یک پیام موفقیت آمیز مشابه این پیام تولید کند:
Operation "operations/acf.p2-73d90d00-47ee-447a-b600" finished successfully.
10. با کمک کمی جمینی، برنامه اصلی Python و Streamlit را قاب کنید
با نمایه سازی هر دو فروشگاه داده Vertex AI Agent Builder و با برنامه های جستجوی ما که تقریباً آماده انتشار هستند، بیایید به ساخت برنامه وب خود بپردازیم.
ما در حین کار از Gemini Code Assist استفاده خواهیم کرد. برای اطلاعات بیشتر در مورد استفاده از Gemini Code Assist در Visual Studio Code، مستندات را اینجا ببینید
- در ترمینال Cloud Shell Editor، این دستور را اجرا کنید تا مخزن برنامه دستور پخت کلون شود.
git clone https://github.com/haggman/recipe-app
- این دستور را تنظیم کنید تا پوشه برنامه در Cloud Shell Editor باز شود.
cloudshell open-workspace recipe-app/
- قبل از کاوش در پوشه کلون شده و شروع به کار بر روی برنامه وب خود، باید افزونه Cloud Code ویرایشگر را وارد Google Cloud کنیم و باید Gemini را فعال کنیم. حالا این کار را بکنیم. در پایین سمت چپ ویرایشگر خود، روی Cloud Code - Sign in کلیک کنید. اگر لینک را نمی بینید، یک دقیقه صبر کنید و دوباره بررسی کنید.
- پنجره ترمینال یک URL طولانی نمایش می دهد. URL را در مرورگر باز کنید و مراحل دسترسی به Cloud Code به محیط Google Cloud خود را طی کنید. در گفتگوی نهایی، کد تأیید را کپی کنید و آن را در پنجره ترمینال انتظار در برگه مرورگر Cloud Shell Editor خود قرار دهید.
- پس از چند لحظه، پیوند Cloud Code در پایین سمت چپ ویرایشگر شما به Cloud Code - No Project تغییر می کند. برای انتخاب پروژه روی پیوند جدید کلیک کنید. پالت فرمان باید در بالای ویرایشگر باز شود. روی Select a Google Cloud project کلیک کنید و پروژه خود را انتخاب کنید. پس از چند لحظه، پیوند در سمت چپ پایین ویرایشگر شما به روز می شود تا شناسه پروژه شما نمایش داده شود. این نشان می دهد که Cloud Code با موفقیت به پروژه کاری شما متصل شده است.
- با اتصال Cloud Code به پروژه خود، اکنون می توانید Gemini Code Assist را فعال کنید. در سمت راست پایین رابط ویرایشگر خود، روی نشانواره جمینی خط خورده کلیک کنید. پنجره Gemini Chat در سمت چپ ویرایشگر باز می شود. روی Select a Google Cloud Project کلیک کنید. وقتی پالت فرمان باز شد، پروژه خود را انتخاب کنید. اگر مراحل را به درستی دنبال کرده اید (و گوگل چیزی را تغییر نداده است)، اکنون باید یک پنجره چت فعال Gemini را ببینید.
- بسیار عالی، با تنظیمات ترمینال، چت Gemini و Cloud Code ما، برگه Explorer را باز کنید و چند دقیقه برای کاوش فایلها در پروژه فعلی وقت بگذارید.
- در Explorer فایل
requirements.txt
خود را برای ویرایش باز کنید. به صفحه چت Gemini بروید و بپرسید:From the dependencies specified in the requirements.txt file, what type of application are we building?
- بنابراین، ما در حال ساخت یک برنامه وب تعاملی با استفاده از Python و Streamlit هستیم که با Vertex AI و Discovery Engine تعامل دارد، خوب است. در حال حاضر، بیایید روی اجزای برنامه وب تمرکز کنیم. همانطور که Gemini می گوید، Streamlit چارچوبی برای ساخت برنامه های وب مبتنی بر داده در پایتون است. حالا بپرس:
این جایی است که جوزا تمایل به مشکلات دارد. Gemini می تواند به فایلی که در حال حاضر در ویرایشگر باز کرده اید دسترسی داشته باشد، اما در واقع نمی تواند کل پروژه را ببیند. سعی کنید این را بپرسید:Does the current project's folder structure seem appropriate for a Streamlit app?
پاسخ بهتری دریافت کنید؟Given the below, does the current project's file and folder structure seem appropriate for a Streamlit app? - build.sh - Home.py - requirements.txt - pages -- Cooking_Advice.py -- Recipe_Search.py
- بیایید اطلاعات بیشتری در مورد Streamlit بدست آوریم:
خوب است، بنابراین می توانیم ببینیم که Gemini یک نمای کلی خوب از جمله مزایا و معایب را به ما ارائه می دهد.What can you tell me about Streamlit?
- اگر می خواهید معایب آن را بررسی کنید، می توانید بپرسید:
توجه کنید، لازم نیست بگوییم "از Streamlit"، زیرا چت Gemini مکالمه ای است (چند چرخشی). جمینی می داند که ما در مورد چه چیزی صحبت کرده ایم زیرا در یک جلسه چت هستیم. اگر در هر زمانی می خواهید تاریخچه چت Gemini را پاک کنید، از نماد سطل زباله در بالای پنجره چت کد Gemini استفاده کنید.What are the major downsides or shortcomings?
11. برنامه وب را در Cloud Run مستقر کنید
بسیار عالی، ما ساختار برنامه اصلی خود را داریم، اما آیا همه اینها کار خواهند کرد؟ بهتر از این، کجا باید آن را در Google Cloud میزبانی کنیم؟
- در پنجره چت Gemini، بپرسید:
If I containerize this application, what compute technologies in Google Cloud would be best for hosting it?
- به یاد داشته باشید، اگر قبلاً در IDE خود کار نمیکردید، میتوانید به عنوان Google Cloud Assist نیز کار کنید. Google Cloud Console را باز کنید، سپس Gemini Cloud Assist را باز کنید و بپرسید:
آیا این دو مجموعه توصیه یکسان بود؟ آیا با هر یک از توصیه ها موافق یا مخالف هستید؟ به یاد داشته باشید، Gemini یک دستیار هوش مصنوعی مولد است و مانند یک دستیار انسانی، همیشه با همه چیزهایی که گفته می شود موافق نخواهید بود. با این حال، داشتن آن کمکی همیشه در کنار شما در حین کار در Google Cloud و در ویرایشگر کد می تواند شما را بسیار کارآمدتر کند.If I have a containerized web application, where would be the best place to run it in Google Cloud?
- برای یک برنامه وب کانتینری با عمر کوتاه بدون حالت، Cloud Run یک گزینه عالی خواهد بود. در پنجره چت Gemini ویرایشگر کد خود، دستور زیر را امتحان کنید:
What steps would be required to run this application in Cloud Run?
- به نظر می رسد اولین کاری که باید انجام دهیم ایجاد یک Dockerfile است. با استفاده از ویرایشگر، فایلی به نام
Dockerfile
در ریشه پوشه پروژه خود ایجاد کنید. مطمئن شوید که به طور تصادفی آن را در پوشه pages قرار ندهید. فایل را برای ویرایش باز کنید. - بیایید از پنل چت کناری Gemini برای ایجاد Dockerfile خود استفاده کنیم. از یک اعلان مانند زیر استفاده کنید. وقتی نتایج در چت نمایش داده شد، از علامت + در کنار نماد کپی درست بالای Dockerfile پیشنهادی استفاده کنید تا کد پیشنهادی را در Dockerfile وارد کنید.
Gemini همیشه همان پاسخ را به همان اعلان برمیگرداند. اولین باری که از Gemini یک Dockerfile خواستم، فایل دقیقی را دریافت کردم که به شما پیشنهاد می کنم استفاده کنید. همین الان این پیشنهاد را دریافت کردم:Create a Dockerfile for the application in the current folder. The dependencies are defined in requirements.txt and I want you to use the Python 3 slim bookworm base image.
این یک Dockerfile است. کمی ساده ترش می کنم ما به بخش apt-get نیازی نداریم زیرا هر چیزی که برای پایتون نیاز است در تصویر پایه ما وجود دارد. همچنین، استفاده از یک محیط مجازی در یک کانتینر پایتون اتلاف فضا است، بنابراین من آن را حذف می کنم. دستور expose به شدت ضروری نیست، اما خوب است. همچنین، سعی دارد main.py را شروع کند که من ندارم.# Base image FROM python:3-bookworm-slim # Set working directory WORKDIR /app # Install dependencies RUN apt-get update && apt-get install -y \ build-essential \ libpq-dev \ gcc \ python3-dev \ && rm -rf /var/lib/apt/lists/* # Install pip and virtualenv RUN pip install --upgrade pip virtualenv # Create virtual environment RUN python3 -m venv venv # Activate virtual environment WORKDIR /app/venv/bin RUN . activate # Install Streamlit and libraries from requirements.txt RUN pip install -r requirements.txt # Copy application files COPY . /app # Expose port 8501 for Streamlit EXPOSE 8501 # Start Streamlit app CMD ["streamlit", "run", "main.py"]
- در پوشه
recipe-app
، فایلی به نامDockerfile
ایجاد کنید و این محتویات را در آن قرار دهید:FROM python:3.11-slim-bookworm WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir -r requirements.txt COPY . . CMD ["streamlit", "run", "Home.py"]
- Gemini میتواند از طریق پنجره چت کار کند، اما همچنین میتواند مستقیماً در فایل کد شما با استفاده از کامنتها کار کند، همانطور که در نوت بوک Data Wrangling استفاده کردیم، و همچنین ممکن است با استفاده از Control+i در ویندوز یا Command+i در Mac فراخوانی شود. جایی در
Dockerfile
کلیک کنید، Gemini را با استفاده از دستور Command+i / Control+i مناسب فعال کنید. - در اعلان زیر را وارد کنید. بررسی کنید و تغییر را بپذیرید .
چقدر باحاله؟! چند بار مجبور شده اید با کد شخص دیگری کار کنید، فقط برای اینکه قبل از اینکه بتوانید تغییرات خود را شروع کنید، وقت خود را برای به دست آوردن درک اولیه از کار بدون نظر آنها تلف کنید. جوزا برای نجات!Please comment the current file.
- اکنون از Gemini بپرسید که چگونه می توانید از Cloud Run برای ساخت و استقرار یک تصویر جدید به نام
recipe-web-app
از Dockerfile در پوشه فعلی استفاده کنید.How could I use gcloud to build a new Cloud Run service named recipe-web-app from the current directory?
- بیایید اپلیکیشن خود را بسازیم و اجرا کنیم. در پنجره ترمینال دستور
gcloud run deploy
را اجرا کنید اگر با درخواستی برای ایجاد مخزن رجیستری مصنوع مواجه شدید،gcloud run deploy recipe-web-app \ --allow-unauthenticated \ --source=. \ --region=us-central1 \ --port=8501
enter/return
فشار دهید.Deploying from source requires an Artifact Registry Docker repository to store built containers. A repository named cloud-run-source-deploy in region us-central1 will be created. Do you want to continue (Y/n)?
- اگر روند ساخت را تماشا کنید، ابتدا مخزن Docker Artifact Registry را میسازد. سپس، از Cloud Build برای ایجاد تصویر ظرف از Dockerfile در پوشه محلی استفاده می کند. در نهایت، تصویر داکر در یک سرویس جدید Cloud Run مستقر خواهد شد. در پایان اسکریپت یک URL آزمایشی Cloud Run برای استفاده دریافت خواهید کرد.
پیوند برگشتی را در یک تب جدید مرورگر خود باز کنید. کمی وقت بگذارید و ساختار و صفحات برنامه را بررسی کنید. خوب است، اکنون ما به قلاب در عملکرد هوش مصنوعی مولد خود نیاز داریم.
12. صفحه مشاوره آشپزی را به برنامه سازنده کتاب آشپزی ما وصل کنید
ما چارچوبی برای اجرای برنامه تحت وب داریم، اما باید دو صفحه کاری را به دو برنامه جستجوی Vertex AI Agent Builder خود متصل کنیم. بیایید با توصیه های آشپزی شروع کنیم.
- برگه Cloud Shell Editor را باز بگذارید. در کنسول Google Cloud از جستجو برای پیمایش به Chat در Vertex AI استفاده کنید.
- در صفحه تنظیمات سمت راست، مدل را روی gemini-1.5-flash-002 تنظیم کنید. حد توکن خروجی را به حداکثر برسانید تا مدل بتواند در صورت نیاز پاسخهای طولانیتری بدهد. تنظیمات فیلتر ایمنی را باز کنید. سخنان مشوق تنفر، محتوای غیراخلاقی جنسی، و محتوای آزار و اذیت را برای مسدود کردن برخی تنظیم کنید. محتوای خطرناک را روی Block few و Save قرار دهید. ما محتوای خطرناک را کمی پایینتر تنظیم میکنیم، زیرا صحبت در مورد چاقو و بریدن میتواند توسط Gemini به اشتباه به عنوان خشونت تعبیر شود.
- روی ضامن بلغزانید تا Grounding فعال شود سپس روی Customize کلیک کنید. منبع زمین را روی Vertex AI search قرار دهید و برای مسیر datastore از موارد زیر استفاده کنید. YOUR_PROJECT_ID را به شناسه پروژه که در نزدیکی دکمه End Lab در این دستورالعمل پیدا شده است، تغییر دهید، سپس تنظیمات اتصال زمین را ذخیره کنید.
توجه: اگر خطایی دریافت کردید، شناسه پروژه را به شناسه پروژه واقعی خود تغییر نداده اید، یا ممکن است مرحله ای را که در آن شناسه فروشگاه داده Agent Builder Data-Cookbooks قدیمی را تغییر داده اید، از دست داده باشید. Agent Builder > Data Stores > Cookbooks قدیمی خود را برای شناسه فروشگاه داده واقعی آن بررسی کنید.projects/YOUR_PROJECT_ID/locations/global/collections/default_collection/dataStores/old-cookbooks-id
- چند پیام چت را تست کنید. شاید با موارد زیر شروع کنید. اگر دوست دارید چند مورد دیگر را امتحان کنید.
How can I tell if a tomato is ripe?
- مدل کار می کند، حالا بیایید کد را آزمایش کنیم. روی پاک کردن مکالمه کلیک کنید تا مکالمات ما بخشی از کد نشود، سپس روی دریافت کد کلیک کنید.
- در بالای پنجره کد، Open Notebook را فشار دهید تا بتوانیم کد را در Colab Enterprise آزمایش کرده و قبل از ادغام آن در برنامه خود، کامل کنیم.
- چند دقیقه وقت بگذارید تا با کد آشنا شوید. بیایید چند تغییر ایجاد کنیم تا آن را با آنچه می خواهیم تطبیق دهیم. قبل از شروع، اولین سلول کد را برای اتصال به محاسبات و نصب AI Platform SDK اجرا کنید. پس از اجرای بلوک از شما خواسته می شود که جلسه را مجدداً راه اندازی کنید. برو و این کار را بکن.
- به کدی که از Vertex AI Studio خارج کردیم بروید. نام روش multiturn_generate_content را به
start_chat_session
تغییر دهید. - به
model = GenerativeModel(
فراخوانی متد بروید. کد موجود تنظیمات_generation_config
وsafety_settings
را تعریف می کند اما در واقع از آنها استفاده نمی کند. ایجادGenerativeModel
را طوری تغییر دهید که شبیه به:model = GenerativeModel( "gemini-1.5-flash-002", tools=tools, generation_config=generation_config, safety_settings=safety_settings, )
- در نهایت، یک خط نهایی به متد اضافه کنید، درست زیر
chat = model.start_chat()
تا تابع شیchat
را برگرداند. تابع تمام شده باید مانند شکل زیر باشد. توجه: این کد را در نوت بوک خود کپی نکنید. این به سادگی در اینجا به عنوان یک بررسی سلامت عقل است.def start_chat_session(): vertexai.init(project="qwiklabs-gcp-02-9a7298ceaaec", location="us-central1") tools = [ Tool.from_retrieval( retrieval=grounding.Retrieval( source=grounding.VertexAISearch(datastore="projects/qwiklabs-gcp-02-9a7298ceaaec/locations/global/collections/default_collection/dataStores/old-cookbooks-id"), ) ), ] model = GenerativeModel( "gemini-1.5-flash-002", tools=tools, generation_config=generation_config, safety_settings=safety_settings, ) chat = model.start_chat() return chat
- به پایین سلول کد بروید و خط نهایی فراخوانی تابع قدیمی را تغییر دهید تا نام تابع جدید را فراخوانی کند و شیء برگشتی را در یک
chat
متغیر ذخیره کند. هنگامی که از تغییرات خود راضی شدید، سلول را اجرا کنید.chat = start_chat_session()
- یک سلول کد جدید ایجاد کنید و نظر را اضافه کنید
# Use chat to invoke Gemini and print out the response
. به خط بعدی بروید وresp
را تایپ کنید و Gemini باید بلوک را به صورت خودکار برای شما تکمیل کند. درخواست را بهHow can I tell if a tomato is ripe?
. سلول را اجرا کنیدresponse = chat.send_message("How can I tell if a tomato is ripe?") print(response)
- این پاسخ درست است، اما بخشی که ما واقعاً میخواهیم آن قسمت
text
تودرتو است. بلوک کد را تغییر دهید تا فقط آن بخش چاپ شود، مانند:response = chat.send_message("How can I tell if a tomato is ripe?") print(response.candidates[0].content.parts[0].text)
- خوب، اکنون که کد چت فعال داریم، بیایید آن را در برنامه وب خود ادغام کنیم. تمام محتویات سلول کد را که تابع
start_chat_session
را ایجاد می کند کپی کنید (به سلول آزمایشی نیازی نخواهیم داشت). اگر روی سلول کلیک کنید، می توانید روی منوی سه نقطه در گوشه سمت راست بالا کلیک کنید و از آنجا کپی کنید - به تب Cloud Shell Editor خود بروید و
pages\Cooking_Advice.py
برای ویرایش باز کنید. - محل نظر را پیدا کنید:
# # Add the code you copied from your notebook below this message #
- کد کپی شده خود را درست در زیر نظر افزودن کد قرار دهید. خوب، اکنون ما بخشی را داریم که موتور چت را از طریق یک تماس زمینی به Gemini هدایت می کند. حالا بیایید آن را در Streamlit ادغام کنیم.
- بخش کد نظر داده شده را مستقیماً در زیر نظر قرار دهید:
# # Here's the code to setup your session variables # Uncomment this block when instructed #
- این بخش از کد را از کامنت بردارید (تا
Setup done, let's build the page UI
) و آن را بررسی کنید. متغیرهای جلسه چت و تاریخچه را ایجاد یا بازیابی می کند. - در مرحله بعد، ما نیاز داریم که تاریخچه و عملکرد چت را در UI ادغام کنیم. تا زمانی که نظر زیر را پیدا کنید، در کد حرکت کنید.
# # Here's the code to create the chat interface # Uncomment the below code when instructed #
- بقیه کد زیر نظر را از حالت کامنت بردارید و کمی وقت بگذارید و آن را بررسی کنید. اگر دوست دارید، آن را برجسته کنید و از Gemini بخواهید که عملکرد آن را توضیح دهد.
- بسیار عالی، حالا بیایید برنامه را بسازیم و آن را مستقر کنیم. وقتی URL برگشت، برنامه را اجرا کنید و صفحه مشاور آشپزی را امتحان کنید. شاید در مورد گوجه فرنگی رسیده بپرسید، یا ربات روش خوبی برای تهیه کلم بروکسل می داند.
gcloud run deploy recipe-web-app \ --allow-unauthenticated \ --source=. \ --region=us-central1 \ --port=8501
چقدر باحاله مشاور آشپزی هوش مصنوعی شخصی شما :-)
13. (اختیاری) صفحه Recipe Search را به برنامه Recipe-search Agent Builder متصل کنید
وقتی صفحه مشاوره آشپزی را به منبع زمینی آن وصل کردیم، این کار را مستقیماً با استفاده از Gemini API انجام دادیم. برای جستجوی دستور غذا، اجازه دهید مستقیماً به برنامه جستجوی Vertex AI Agent Builder متصل شویم.
- در Cloud Shell Editor، صفحه
pages/Recipe_Search.py
را برای ویرایش باز کنید. ساختار صفحه را بررسی کنید. - در بالای فایل، ID پروژه خود را تنظیم کنید.
- تابع
search_sample
را بررسی کنید. این کد کم و بیش مستقیماً از مستندات Discovery Engine در اینجا آمده است. شما می توانید یک نسخه کارآمد را در این دفترچه در اینجا پیدا کنید. تنها تغییری که انجام دادم این بود که به جای فقط نتایج،response.results
. نتایج را برگرداندم. بدون این، نوع بازگشتی یک شی است که برای صفحه در نتایج طراحی شده است، و این چیزی است که ما برای برنامه اصلی خود به آن نیاز نداریم. - به انتهای فایل بروید و کل بخش زیر
Here are the first 5 recipes I found
حذف کنید. - کل قسمتی را که کامنت گذاشتید برجسته کنید و چت Gemini Code را باز کنید. بپرسید،
Explain the highlighted code
. اگر چیزی را انتخاب نکرده اید، Gemini می تواند کل فایل را توضیح دهد. اگر بخشی را هایلایت کنید و از Gemini بخواهید که توضیح دهد، یا نظر بدهد یا آن را بهبود بخشد، Gemini این کار را انجام می دهد. لحظه ای وقت بگذارید و توضیحات را بخوانید. برای آنچه ارزش دارد، استفاده از نوت بوک Colab Enterprise یک راه عالی برای کشف API های Gemini قبل از اینکه آنها را در برنامه خود ادغام کنید، است. این به ویژه در کاوش برخی از API های جدیدتر که ممکن است به خوبی مستند نباشند مفید است. - در پنجره ترمینال ویرایشگر خود،
build.sh
برای استقرار برنامه نهایی اجرا کنید. قبل از رفتن به مرحله بعدی، منتظر بمانید تا نسخه جدید اجرا شود.
14. (اختیاری) برنامه نهایی را کاوش کنید
چند دقیقه برای بررسی برنامه نهایی وقت بگذارید.
- در کنسول Google Cloud، از جستجو برای پیمایش به
Cloud Run
استفاده کنید، سپس روی دستور-وب-برنامه خود کلیک کنید. - URL تست برنامه را (به سمت بالا) پیدا کنید و آن را در یک برگه مرورگر جدید باز کنید.
- صفحه اصلی برنامه باید ظاهر شود. توجه داشته باشید که طرح و ناوبری اصلی ارائه شده توسط StreamLit ، با پرونده های پایتون از پوشه
pages
که به عنوان گزینه های ناوبری نمایش داده می شوند ، وHome.py
به عنوان صفحه اصلی بارگذاری شده است. به صفحه مشاوره آشپزی بروید. - بعد از چند لحظه رابط چت ظاهر می شود. مجدداً به طرح اصلی خوب ارائه شده توسط StreamLit توجه داشته باشید.
- چند سؤال مرتبط با پخت و پز را امتحان کنید و ببینید که چگونه BOT عملکرد دارد. چیزی شبیه به:
Do you have any advice for preparing broccoli? How about a classic chicken soup recipe? Tell me about meringue.
- حالا بیایید یک یا دو دستور العمل پیدا کنیم. به صفحه جستجوی دستور العمل بروید و چند جستجو را امتحان کنید. چیزی شبیه به:
Chili con carne Chili, corn, rice Lemon Meringue Pie A dessert containing strawberries
15. تبریک می گویم!
شما برنامه های سازنده عامل Vertex AI Agrance را ایجاد کرده اید. در طول راهی که شما Gemini Cloud Assist ، Gemini Code Assist و زبان طبیعی به ویژگی های SQL بوم داده BigQuery را کاوش کرده اید. کار خارق العاده!
تمیز کردن
Cloud SQL دارای یک ردیف رایگان نیست و در صورت ادامه استفاده از آن ، شما را شارژ می کند. برای جلوگیری از تحمل هزینه های اضافی می توانید پروژه ابری خود را حذف کنید.
در حالی که Cloud Run در هنگام استفاده از سرویس شارژ نمی شود ، ممکن است شما هنوز هم برای ذخیره تصویر کانتینر در رجیستری Artifact شارژ شوید. حذف پروژه ابری شما صورتحساب را برای تمام منابع مورد استفاده در آن پروژه متوقف می کند.
اگر دوست دارید ، پروژه را حذف کنید:
gcloud projects delete $GOOGLE_CLOUD_PROJECT
همچنین ممکن است بخواهید منابع غیر ضروری را از دیسک Cloudshell خود حذف کنید. شما می توانید:
- فهرست پروژه CodeLab را حذف کنید:
rm -rf ~/task-app
- هشدار! این اقدام بعدی نمی تواند خنثی شود! اگر می خواهید همه چیز را روی پوسته ابر خود حذف کنید تا فضای را آزاد کنید ، می توانید کل فهرست خانه خود را حذف کنید . مراقب باشید که هر آنچه را که می خواهید نگه دارید در جایی دیگر ذخیره شود.
sudo rm -rf $HOME