تور Gemini Code Assist برای توسعه دهندگان

1. مقدمه

در این آزمایشگاه، از Gemini Code Assist، یک همکار مبتنی بر هوش مصنوعی در Google Cloud استفاده خواهید کرد. شما با نحوه استفاده از Gemini Chat و کمک کد درون خطی برای تولید کد، درک کد و موارد دیگر آشنا خواهید شد.

کاری که خواهی کرد...

  • شما از Cloud Shell IDE برای دانلود یک الگوی کد موجود برای یک برنامه وب استفاده خواهید کرد.
  • شما از Gemini Chat در Cloud Shell IDE برای پرسیدن سوالات کلی در مورد Google Cloud استفاده خواهید کرد.
  • برای تولید، خلاصه و تکمیل کد از کمک کد Inline Gemini Code Assist در Cloud Shell IDE استفاده خواهید کرد.

آنچه یاد خواهید گرفت...

  • نحوه استفاده از Gemini Code Assist برای چندین کار توسعه دهنده مانند تولید کد، تکمیل کد و خلاصه سازی کد.
  • نحوه استفاده از Gemini برای Cloud برای یادگیری در مورد Google Cloud.

آنچه شما نیاز خواهید داشت ...

  • مرورگر وب کروم
  • یک اکانت جیمیل
  • یک پروژه Cloud با فعال کردن صورت‌حساب
  • Gemini Code Assist برای پروژه Cloud شما فعال شد

این آزمایشگاه برای توسعه دهندگان در تمام سطوح، از جمله مبتدیان هدف قرار گرفته است. اگرچه برنامه نمونه به زبان پایتون است، اما برای اینکه بفهمید چه اتفاقی می افتد، نیازی به آشنایی با برنامه نویسی پایتون ندارید. تمرکز ما بر آشنایی با قابلیت های Gemini Code Assist برای توسعه دهندگان خواهد بود.

2. راه اندازی

این بخش تمام کارهایی را که برای شروع کار با این آزمایشگاه باید انجام دهید را پوشش می دهد.

Gemini را برای Cloud در پروژه Google Cloud فعال کنید

اکنون Gemini for Cloud را در پروژه Google Cloud خود فعال می کنیم. مراحل زیر را دنبال کنید:

  1. از https://console.cloud.google.com دیدن کنید و مطمئن شوید که پروژه Google Cloud را که قصد دارید با آن برای این آزمایشگاه کار کنید، انتخاب کرده اید. روی نماد Open Gemini که در بالا سمت راست می بینید کلیک کنید.

28f084ec1e159938.png

  1. پنجره چت Gemini for Cloud در سمت راست کنسول باز می شود. مطابق شکل زیر بر روی دکمه Enable کلیک کنید. اگر دکمه Enable را نمی بینید و به جای آن یک رابط چت می بینید، به احتمال زیاد Gemini را برای Cloud برای پروژه فعال کرده اید و می توانید مستقیماً به مرحله بعدی بروید.

e8df9adc4ea43a37.png

  1. هنگامی که آن را فعال کنید، می توانید با پرسیدن یک یا دو پرس و جو از Gemini برای Cloud آزمایش کنید. چند نمونه پرس و جو نشان داده شده است اما می توانید چیزی مانند What is Cloud Run?

9859ea86a8310cb.png

Gemini for Cloud با پاسخ به سوال شما پاسخ خواهد داد. می توانید روی آن کلیک کنید f68286b2b2ea5c0a.png نماد در گوشه سمت راست بالا برای بستن پنجره چت Gemini for Cloud.

Gemini Code Assist را در Cloud Shell IDE فعال کنید

ما از Cloud Shell IDE، یک محیط توسعه مبتنی بر کد OSS با مدیریت کامل، برای بقیه بخش کد استفاده خواهیم کرد. ما باید Code Assist را در Cloud Shell IDE فعال و پیکربندی کنیم و مراحل زیر ارائه شده است:

  1. از ide.cloud.google.com دیدن کنید. ممکن است کمی طول بکشد تا IDE ظاهر شود، پس لطفا صبور باشید.
  2. همانطور که نشان داده شده است، روی دکمه Cloud Code - Sign in در نوار وضعیت پایین کلیک کنید. پلاگین را طبق دستورالعمل مجاز کنید. اگر «کد ابری - بدون پروژه» را در نوار وضعیت می‌بینید، آن را انتخاب کنید و سپس پروژه 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 فعال کنید. قبل از انجام این کار، با رفتن به Cloud Code Extension → Settings، اطمینان حاصل کنید که Gemini در IDE فعال است و سپس متن Gemini را مطابق شکل زیر وارد کنید. مطمئن شوید که چک باکس انتخاب شده است. باید IDE خود را دوباره بارگیری کنید. این Gemini را در Cloud Code فعال می‌کند و نماد Gemini در نوار وضعیت در IDE شما ظاهر می‌شود.

228c9c9c6b956c8e.png

3. برنامه Sample را ایجاد کنید

ما یک نمونه برنامه (یک برنامه 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 به عنوان یک دستیار چت در Cloud Shell IDE به عنوان بخشی از برنامه افزودنی Cloud Code در VS Code در دسترس است. با کلیک بر روی دکمه Gemini در نوار ناوبری سمت چپ می توانید آن را بالا بیاورید. به دنبال نماد Gemini بگردید a489f98a34898727.png در نوار ابزار ناوبری سمت چپ و روی آن کلیک کنید.

با این کار پنجره Chat: Gemini در Cloud Shell IDE ظاهر می شود و می توانید برای دریافت کمک در Google Cloud با Gemini چت کنید.

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 برای کمک به بهره‌وری بیشتر و در عین حال به حداقل رساندن تغییر زمینه، اقدامات هوشمند مبتنی بر هوش مصنوعی را مستقیماً در ویرایشگر کد شما ارائه می‌کند. هنگامی که کد خود را در ویرایشگر کد خود انتخاب می کنید، می توانید لیستی از اقدامات مرتبط با زمینه خود را مشاهده و انتخاب کنید.

می‌توانید از Gemini Code Assist برای کمک به درک بخش‌هایی از کد برنامه استفاده کنید. به برنامه ای که در مرحله قبل ایجاد کرده بودیم برگردید و می توانید از Gemini Code Assist برای توضیح فایل ها و کدهای موجود در IDE خود استفاده کنید.

  1. اگر فایل ها قابل مشاهده نیستند، در نوار فعالیت IDE، روی Explorer کلیک کنید ( منوی کد OSS Explorer ).
  2. در پنجره Explorer، Dockerfile را انتخاب کنید.
  3. می توانید هر بخشی از محتویات فایل را انتخاب کنید، روی لامپ ( کد OSS Duet AI لامپ ) و سپس روی Gemini کلیک کنید: این را توضیح دهید . به عنوان مثال، خطی که با ENTRYPOINT شروع می شود را انتخاب کنید، روی لامپ ( کد OSS Duet AI لامپ ) و سپس روی Gemini کلیک کنید: این را توضیح دهید . Gemini یک توضیح به زبان طبیعی در مورد بخش خاصی از Dockerfile ایجاد می کند که به اطلاعات بیشتری در مورد آن نیاز دارید. Gemini با جزئیات در مورد دستورالعمل ENTRYPOINT پاسخ می دهد. یاد می گیرید که با این دستورالعمل، Docker فایل app.py را هنگام راه اندازی کانتینر اجرا می کند.
  4. برای مشاهده محتویات فایل app.py ، در نوار فعالیت، روی Explorer ( منوی کد OSS Explorer ، و سپس app.py انتخاب کنید.
  5. در تعریف تابع hello() با خیال راحت خطوطی را انتخاب کنید که می خواهید اطلاعات بیشتری در مورد آنها به دست آورید. سپس روی لامپ ( کد OSS Duet AI لامپ سپس روی Gemini کلیک کنید: این را توضیح دهید . در مثال خود، دو خط کد زیر را انتخاب کردیم و سپس Gemini را فعال کردیم: این عمل را توضیح دهید .

14d9c56af016b65d.png

  1. Gemini با توضیح دقیق این دو متغیر محیطی Cloud Run ( K_SERVICE, K_REVISION ) و نحوه استفاده از آنها در کد برنامه پاسخ می دهد. توجه داشته باشید که Gemini با دانش خود از Google Cloud و خدماتی مانند Cloud Run نه تنها کد پایتون را توضیح داده است، بلکه مفهوم این متغیرها را در Cloud Run نیز توضیح داده است.

راه های اضافی زیر را برای دریافت توضیح کد امتحان کنید:

  1. app.py را به عنوان فایل باز شده فعلی در IDE نگه دارید. به پنل چت Gemini در نوار پیمایش سمت چپ در VS Code بروید و اعلان توضیح دهید این فایل را وارد کنید. این کل فایل را در نظر می گیرد و برای شما توضیح می دهد.
  2. همچنین می‌توانید هر بخشی از فایل را انتخاب کنید و سپس از صفحه چت Gemini در سمت چپ استفاده کنید، اعلان را وارد کنید توضیح دهید . این فقط قسمت انتخاب شده از فایل را توضیح می دهد. این شبیه به کلیک شما روی لامپ است( کد OSS Duet AI لامپ ) و سپس روی Gemini کلیک کنید: این را توضیح دهید.
  3. همچنین می‌توانید قسمتی از متن را انتخاب کنید و روی Gemini: Smart Actions از بالا سمت راست در IDE همانطور که در زیر نشان داده شده است کلیک کنید تا لیستی از اقدامات قابل انجام بر روی متن انتخاب شده را دریافت کنید. یکی از این گزینه ها توضیح این عمل خواهد بود:

adeb72acd708174.png

6. کد را با اعلان ایجاد کنید

این بخش به شما نشان می دهد که چگونه از Gemini Code Assist برای تولید کد از نظرات استفاده کنید.

بیایید این ویژگی ها را امتحان کنیم. مراحل زیر را دنبال کنید:

  1. یک فایل جدید با نام utils.py ایجاد کنید.
  2. در فایل کد جدید خود، در یک خط جدید، # Function to print a list of blobs in a Google Cloud Storage bucket و سپس Enter (برای ویندوز و لینوکس) یا Return (برای MacOS) را فشار دهید. Gemini ممکن است سعی کند در حین تایپ کد تولید کند اما آن را نپذیرد. ما به طور خاص تولید کد را در مرحله بعدی فعال خواهیم کرد.
  3. برای شروع تولید کد، Control+Enter (برای ویندوز و لینوکس) یا Control+Return (برای MacOS) را فشار دهید. در کنار متن درخواستی شما در فایل پایتون، Gemini Code Assist کد را به شکل متن شبح تولید می کند. این یک یا چند پیشنهاد برای کد با نوار ابزار به شما ارائه می دهد که از طریق آن می توانید از یک پیشنهاد کد به کد دیگر (در صورت وجود چندین پیشنهاد) حرکت کنید. شما حتی می توانید هر یک از پیشنهادات کد را از طریق نوار ابزار بپذیرید . در صورتی که نمی توانید نوار ابزار را ببینید یا ناپدید شد، ماوس را روی کد ایجاد شده نگه دارید تا دوباره ظاهر شود.
  4. اختیاری: برای پذیرش کد تولید شده، Tab فشار دهید. در صورتی که چندین پیشنهاد وجود داشته باشد، می‌توانید چندین بار Tab فشار دهید تا از یک قطعه کد پیشنهادی به کد بعدی بروید.

با این کار کدی که پذیرفته اید در فایل utils.py وارد می شود. نمونه اسکرین شات در زیر نشان داده شده است. کد ارائه شده به شما ممکن است با کد زیر متفاوت باشد. در صورت ایجاد روش های اضافی، می توانید پس از پذیرش کد، آن متدها را حذف کنید.

d6d7915885c5e74b.png

به خط خمیده اطراف کد توجه کنید. این استناد کد در عمل است. اگر ماوس را روی هر یک از خطوط نگه دارید، انتساب کد و سایر اطلاعات مرتبط در مورد مجوز نمایش داده می شود. یک مثال در زیر نشان داده شده است:

c7473cadcf15d887.png

سپس می توانید با کلیک بر روی Quick Fix... هشدار استناد را نادیده بگیرید. با این کار، Quick Fix پیشنهادی نمایش داده می شود که نمونه ای از آن در زیر نشان داده شده است:

10f4672830954c90.png

اگر با پذیرش مجوز کد موافق هستید، می توانید هشدار نادیده گرفتن نقل قول را انتخاب کنید.

(اختیاری) در اینجا چند پیشنهاد دیگر برای آزمایش برای تولید کد وجود دارد:

  1. همچنین می توانید از ویژگی چت Gemini برای پرسیدن همان درخواست و دریافت پاسخ در پنجره چت استفاده کنید. سپس رابط چت گزینه هایی را برای کپی کردن کد یا درج در فایل فعلی نمایش می دهد.
  2. درخواست های خود را برای کد نمونه ای که می خواهید امتحان کنید. چند پیشنهاد در زیر ارائه شده است (با فرض اینکه شما در یکی از فایل های پایتون هستید): یا از برخی از دستورات زیر انتخاب کنید:
  • برای انتشار پیامی در Google Cloud Pub/Sub کد پایتون بنویسید
  • کد پایتون را برای مقداردهی اولیه مشتری BigQuery بنویسید
  • برای اتصال برنامه من به Cloud SQL کد پایتون بنویسید

7. هنگام کدنویسی، کدهای درون خطی را دریافت کنید

هنگام نوشتن کد، Gemini Code Assist کدهای درون خطی را پیشنهاد می کند که می توانید آنها را بپذیرید یا نادیده بگیرید. برای امتحان این ویژگی، فایل utils.py را که در بخش قبلی ایجاد کرده بودیم تغییر می دهیم:

  1. فایل utils.py را به عنوان فایل فعلی در Cloud Shell IDE باز کنید.
  2. یکی از کارهایی که می‌توانیم انجام دهیم این است که اگر در کد تولید شده وجود نداشته باشد، دستورهای import صحیح را ارائه دهیم.
  3. شروع به تایپ کلمه import و باید کد 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")

(اختیاری) کد نمونه را اجرا کنید

از آنجایی که ما کدی را برای فهرست کردن حباب‌ها در یک سطل ذخیره‌سازی ابری Google نوشتیم، باید کتابخانه پایتون 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 از طریق نماد منو در بالا سمت چپ راه اندازی کنیم. مطابق شکل زیر روی نماد منو و سپس ترمینال → ترمینال جدید کلیک کنید:

289173c68f1addb5.png

در جلسه ترمینال، وابستگی های پایتون را از طریق دستور زیر نصب کنید:

pip3 install -r requirements.txt

در نهایت می توانید فایل utils.py را از طریق دستور زیر اجرا کنید:

python utils.py

این باید حباب هایی را که در سطل عمومی Google Cloud Storage وجود دارد نمایش دهد. در حالت ایده‌آل باید 2 حباب را در خروجی مشاهده کنید ( file1.txt و file2.txt ).

عیب یابی

اگر هنگام نمایش اشیاء در سطل عمومی بالا، خطای «دسترسی» دریافت کردید، می‌توانید سطل فضای ذخیره‌سازی Google Cloud خود را ایجاد کنید و به جای gemini-codeassist-bucket از آن استفاده کنید. بخش بعدی نحوه انجام این کار را به شما نشان می دهد.

(اختیاری) سطل Cloud Storage خود را ایجاد کنید

اجازه دهید از Gemini کمک بگیریم تا دستوراتی را برای ایجاد یک سطل به ما ارائه دهد، آن را در دسترس عموم قرار دهیم و اشیاء نمونه را در سطل آپلود کنیم.

با اعلان زیر شروع کنید: "فرمان gcloud برای ایجاد یک سطل عمومی در Google Cloud Storage چیست؟"

این باید دستور gcloud را برای ایجاد یک سطل در اختیار شما قرار دهد. دستور دقیق در زیر نشان داده شده است:

gcloud storage buckets create gs://<BUCKET_NAME>

یک نام منحصر به فرد برای <BUCKET_NAME> انتخاب کنید و دستور را در ترمینال اجرا کنید.

اکنون که یک سطل ایجاد کرده‌ایم، می‌خواهیم سطل برای عموم قابل دسترسی باشد. بیایید از Gemini دستور انجام این کار را با استفاده از اعلان زیر بخواهیم: "چگونه می توانم یک سطل ذخیره سازی ابری گوگل را برای عموم قابل دسترس کنم؟"

این باید یک دستور 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 کمک کند.

اسناد مرجع