جولة في Gemini Code Assist Standard وEnterprise للمطوّرين في محرِّر Google Cloud Shell
لمحة عن هذا الدرس التطبيقي حول الترميز
1. مقدمة
في هذا الدرس العملي، ستستخدم ميزة "مساعدة ترميز Gemini"، وهي أداة تعاون مستندة إلى الذكاء الاصطناعي في Google Cloud. ستتعرّف على كيفية استخدام Gemini Chat وميزة "المساعدة بشأن الرموز البرمجية" المضمّنة لإنشاء الرموز البرمجية وفهمها ومهام الترميز الأخرى المستندة إلى الذكاء الاصطناعي.
المهام التي ستنفّذها
- ستستخدم Cloud Shell IDE لتنزيل نموذج رمز حالي لتطبيق ويب.
- ستستخدم Gemini Chat في Cloud Shell IDE لطرح أسئلة عامة حول Google Cloud.
- ستستخدم ميزة "مساعدة الرموز البرمجية" المضمّنة في Gemini Code Assist في Cloud Shell IDE لإنشاء الرموز البرمجية وتلخيصها وإكمالها.
ما ستتعرّف عليه...
- كيفية استخدام ميزة Gemini Code Assist لتنفيذ العديد من مهام المطوّرين، مثل إنشاء الرموز البرمجية وإكمالها وتلخيصها
- كيفية استخدام Cloud Assist للتعرّف على Google Cloud
المتطلبات
- متصفّح الويب Chrome
- حساب Gmail
- مشروع على Cloud تم تفعيل الفوترة فيه
- تفعيل ميزة Gemini Code Assist في مشروعك على Cloud
يستهدف هذا البرنامج التدريبي المطوّرين من جميع المستويات، بما في ذلك المبتدئين. على الرغم من أنّ نموذج التطبيق مكتوب بلغة Python، لست بحاجة إلى معرفة لغة البرمجة Python لفهم ما يحدث. سنركّز على التعرّف على إمكانات ميزة "مساعدة في الترميز" في Gemini للمطوّرين.
2. ضبط إعدادات الجهاز
يتناول هذا القسم كل ما عليك فعله لبدء هذا الدرس التطبيقي.
تفعيل ميزة Cloud Assist في مشروع Google Cloud
سنفعّل الآن ميزة Cloud Assist في مشروعنا على Google Cloud. اتّبِع الخطوات التالية:
- يُرجى الانتقال إلى https://console.cloud.google.com والتأكّد من اختيار مشروع Google Cloud الذي تريد العمل عليه في هذا البرنامج التدريبي. انقر على رمز فتح Gemini الذي يظهر في أعلى يسار الصفحة.
- ستفتح نافذة محادثة Cloud Assist على يسار وحدة التحكّم. انقر على الزر "تفعيل" كما هو موضّح أدناه. إذا لم يظهر لك زر تفعيل وظهرت لك واجهة Chat بدلاً من ذلك، من المرجّح أنّك سبق أن فعّلت ميزة Cloud Assist للمشروع ويمكنك الانتقال مباشرةً إلى الخطوة التالية.
- بعد تفعيل الميزة، يمكنك اختبارها من خلال طلب طلب أو طلبَين. يتم عرض بعض نماذج طلبات البحث، ولكن يمكنك تجربة طلب بحث مثل
What is Cloud Run?
.
سيقدّم لك فريق Cloud Assist الإجابة عن سؤالك. يمكنك النقر على رمز في أعلى يسار الصفحة لإغلاق نافذة المحادثة في Cloud Assist.
تفعيل ميزة Gemini Code Assist في Cloud Shell IDE
سنستخدم Cloud Shell IDE، وهي بيئة تطوير مُدارة بالكامل تستند إلى Code OSS، في بقية الدرس التطبيقي حول الترميز. علينا تفعيل ميزة "مساعدة في الترميز" وضبطها في Cloud Shell IDE، وإليك الخطوات:
- يُرجى الانتقال إلى ide.cloud.google.com. قد يستغرق ظهور بيئة تطوير البرامج المتكاملة بعض الوقت، لذا يُرجى الانتظار.
- انقر على الزر Cloud Code - تسجيل الدخول في شريط الحالة أسفل الشاشة كما هو موضّح. امنح الإذن للمكوّن الإضافي وفقًا للتعليمات. إذا ظهرت لك الرسالة "Cloud Code - no project" (رمز Cloud - لا يتوفّر مشروع) في شريط الحالة، اختَرها ثم اختَر مشروع Google Cloud المحدّد من قائمة المشاريع التي تخطّط للعمل عليها.
- انقر على زر Gemini في أسفل يسار الصفحة كما هو موضّح واختَر مرة أخيرة مشروع Google Cloud الصحيح. إذا طُلب منك تفعيل Gemini for Google Cloud API، يُرجى إجراء ذلك والمتابعة.
- بعد اختيار مشروعك على Google Cloud، تأكَّد من أنّه يمكنك الاطّلاع على ذلك في رسالة حالة Cloud Code في شريط الحالة ومن أنّ ميزة "مساعدة في الترميز" مفعَّلة أيضًا على يسار شريط الحالة كما هو موضّح أدناه:
أصبحت ميزة Gemini Code Assist جاهزة للاستخدام.
اختياري: إذا لم يظهر لك Gemini في شريط الحالة في أسفل يسار الصفحة، عليك تفعيل Gemini في Cloud Code. قبل إجراء ذلك، تأكَّد من تفعيل Gemini في IDE من خلال الانتقال إلى Cloud Code Extension → Settings (إضافة Cloud Code → الإعدادات) ثم إدخال النص Gemini كما هو موضّح أدناه. تأكَّد من وضع علامة في مربّع الاختيار. عليك إعادة تحميل بيئة تطوير البرامج المتكاملة (IDE). سيؤدي ذلك إلى تفعيل Gemini في Cloud Code، وسيظهر رمز Gemini في شريط الحالة في بيئة تطوير البرامج المتكاملة.
3. إنشاء تطبيق "عيّنة"
سننشئ نموذج تطبيق (تطبيق Python Flask) سنستخدمه لاستكشاف ميزات ميزة "مساعدة كتابة الرموز البرمجية" في Gemini.
اتبع الخطوات التالية:
- انقر على اسم مشروع 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?
لاحِظ رمز سلة المهملات في أعلى الصفحة، وهو وسيلة إعادة ضبط السياق لسجلّ محادثات "مساعدة ترميز". يُرجى العلم أيضًا أنّ هذه المحادثة مرتبطة بالملفّات التي تعمل عليها في IDE.
5. شرح الرمز
لمساعدتك في زيادة إنتاجيتك مع تقليل عمليات تبديل السياق، يوفّر تطبيق Gemini Code Assist إجراءات ذكية مستندة إلى الذكاء الاصطناعي مباشرةً في محرِّر الرموز البرمجية. عند اختيار الرمز في محرِّر الرموز، يمكنك عرض قائمة بالإجراءات ذات الصلة بالسياق واختيار إجراء منها.
يمكنك استخدام ميزة "مساعدة ترميز Gemini" لمساعدتك في فهم أجزاء من رمز التطبيق. يمكنك العودة إلى التطبيق الذي أنشأناه في خطوة سابقة واستخدام ميزة "مساعدة الرموز البرمجية" في Gemini لشرح الملفات والرموز البرمجية المتوفّرة في بيئة تطوير البرامج المتكاملة.
- إذا لم تكن الملفات مرئية، انقر على مستكشف (
) في شريط نشاط IDE.
- في لوحة "المستكشف"، اختَر Dockerfile.
- يمكنك اختيار أي جزء من محتوى الملف، والنقر على رمز المصباح (
)، ثم النقر على Gemini: شرح هذا النص. على سبيل المثال، اختَر السطر الذي يبدأ بـ ENTRYPOINT، ثم انقر على المصباح (
)، ثم انقر على Gemini: Explain this (شرح هذا). ينشئ Gemini تفسيرًا باللغة الطبيعية حول القسم المحدّد من Dockerfile الذي تحتاج إلى مزيد من المعلومات عنه. يردّ Gemini بتفاصيل عن تعليمات ENTRYPOINT. تعرِف من خلال هذه التعليمات أنّ Docker سيشغِّل ملف
app.py
عند تشغيل الحاوية. - للاطّلاع على محتوى ملف
app.py
، انقر على رمز المستكشف () في شريط الأنشطة، ثم اختَر
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 كملف مفتوح حاليًا في IDE. انتقِل إلى لوحة محادثة Gemini في شريط التنقّل الأيمن في VS Code وأدخِل الطلب شرح هذا الملف. سيؤدي ذلك إلى مراجعة الملف بالكامل وشرحه لك.
- يمكنك أيضًا اختيار أي جزء من الملف ثم استخدام لوحة محادثة Gemini على يمين الصفحة، وإدخال الطلب شرح هذا. لن يوضّح هذا القسم سوى الجزء المحدّد من الملف. يشبه ذلك النقر على مصباح (
) ثم النقر على Gemini: Explain this (أريد أن يوضّح لي Gemini هذا الأمر).
- يمكنك أيضًا اختيار جزء من النص والنقر على Gemini: الإجراءات الذكية من أعلى يسار صفحة "محرّر بيئة التطوير المتكاملة" كما هو موضّح أدناه للحصول على قائمة بالإجراءات التي يمكن تنفيذها على النص المحدّد. سيكون أحد هذه الخيارات هو الإجراء شرح هذا:
6. إنشاء رمز باستخدام طلبات
يوضّح لك هذا القسم كيفية استخدام ميزة "مساعدة الرموز البرمجية" في Gemini لإنشاء رمز من التعليقات.
لنجرّب هذه الميزات. اتّبِع الخطوات التالية:
- أنشئ ملفًا جديدًا باسم
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
. في ما يلي مثال على لقطة شاشة. قد يختلف الرمز الذي يتم تقديمه لك عن الرمز المعروض أدناه. في حال إنشاء طُرق إضافية، يمكنك حذف هذه الطُرق بعد قبول الرمز.
قد تلاحظ خطوطًا متعرّجة في الرمز أو لا تلاحظها. إذا فعلت ذلك، يعني ذلك أنّك تُطبّق اقتباس الرمز البرمجي. إذا مررت مؤشر الماوس فوق أيّ من الأسطر، سيتم عرض مصدر الرمز البرمجي ومعلومات أخرى ذات صلة بالترخيص. في ما يلي مثال:
يمكنك بعد ذلك اختيار تجاهل تحذير الاقتباس بالنقر على حلّ سريع .... سيؤدي ذلك إلى عرض الحلّ السريع المقترَح، ويمكنك الاطّلاع على عيّنة منه أدناه:
يمكنك اختيار تجاهل تحذير الاقتباس إذا كنت توافق على قبول ترخيص الرمز.
(اختياري) في ما يلي بعض الاقتراحات الأخرى لتجربة إنشاء الرموز:
- يمكنك أيضًا استخدام ميزة المحادثة مع Gemini لطرح الطلب نفسه والحصول على الرد في نافذة المحادثة. تعرض واجهة Chat بعد ذلك خيارات لنسخ الرمز أو إدراجه في الملف الحالي.
- جرِّب طلباتك الخاصة للحصول على نموذج الرمز الذي تريده. في ما يلي بعض الاقتراحات (على افتراض أنّك في أحد ملفات Python): أو اختَر من بعض الطلبات الواردة أدناه:
- كتابة رمز Python لنشر رسالة إلى Google Cloud Pub/Sub
- كتابة رمز Python لإعداد عميل BigQuery
- كتابة رمز Python لربط تطبيقي بخدمة Cloud SQL
7. الحصول على اقتراحات للرموز البرمجية المضمّنة أثناء كتابة الرموز البرمجية
أثناء كتابة الرمز، يقدّم "مساعِد كتابة الرموز" في Gemini اقتراحات للرموز البرمجية المضمّنة يمكنك قبولها أو تجاهلها. لتجربة هذه الميزة، سنعدِّل ملف utils.py
الذي أنشأناه في القسم السابق :
- افتح ملف
utils.py
كملف حالي في Cloud Shell IDE. - من بين الإجراءات التي يمكننا اتّخاذها تقديم عبارات
import
الصحيحة، إذا لم تكن متوفّرة في الرمز الذي تم إنشاؤه. - ابدأ بكتابة الكلمة
import
ومن المفترض أن يظهر لك رمز Gemini Code Assist الذي يقترح رمزًا في شكل نص غير مرئي. لقبول اقتراح الرمز من ميزة Gemini Code Assist، اضغط علىTab
. بخلاف ذلك، لتجاهل الاقتراح، اضغط علىEsc
أو واصِل كتابة الرمز. في نموذج الشاشة أدناه، يقترح استيراد فئةstorage
لأنّها مستخدَمة في الرمز. اضغط علىTab
لقبول اقتراح الرمز. نقترح أيضًا تضمين بيانimport os
، ولكن يمكننا إزالته لأنّه غير مطلوب.
- انتقِل إلى نهاية ملف
utils.py
وأضِف السطر لاستدعاء الدالة، إذا لم يكن متوفّرًا. في هذه الحالة، هي الدالةprint_blobs
. يمكنك ببساطة بدء كتابة اسم الدالة وسيساعدك "إكمال الرمز البرمجي" في إنهاء العبارة. - عليك تقديم اسم الحزمة ويمكنك استخدام اسم الحزمة العلني التالي :
gemini-codeassist-bucket
.يظهر أدناه نموذج استدعاء الدالة. يُرجى العِلم أنّه قد تظهر لك اختلافات بسيطة من حيث أسماء الدوالّ وما إلى ذلك.
print_blobs(bucket_name="gemini-codeassist-bucket")
(اختياري) تشغيل نموذج الرمز
بما أنّنا كتبنا رمزًا لسرد ملفات البيانات في حزمة 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 (وحدة التحكّم) → New Terminal (وحدة تحكّم جديدة) كما هو موضّح أدناه:
في جلسة Terminal، ثبِّت متطلّبات Python باستخدام الأمر التالي:
pip3 install -r requirements.txt
أخيرًا، يمكنك تشغيل ملف utils.py
باستخدام الأمر التالي:
python utils.py
من المفترض أن يؤدي ذلك إلى عرض العناصر المصغّرة المتوفّرة في حزمة Google Cloud Storage العلنية. من المفترض أن تظهر لك كتلتان في النتائج (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 الأمر لتنفيذ ذلك باستخدام الطلب التالي: "كيف يمكنني إتاحة حزمة تخزين في Google Cloud للجميع؟"
من المفترض أن يقدّم لك هذا الأمر 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 على نموذج مشروع لفهم كيفية مساعدتك في إنشاء الرموز البرمجية وإكمالها وتلخيصها، بالإضافة إلى مساعدتك في الحصول على إجابات عن أسئلة حول Google Cloud.