GitHub - GenAI এর সাথে কোড রিভিউ অটোমেশন

GitHub - GenAI এর সাথে কোড রিভিউ অটোমেশন

এই কোডল্যাব সম্পর্কে

subjectমার্চ ২৪, ২০২৫-এ শেষবার আপডেট করা হয়েছে
account_circleAndrey Shakirov-এর লেখা

1. ওভারভিউ

এই ল্যাবে, আপনি GitHub অ্যাকশন ওয়ার্কফ্লো সেট আপ করবেন এবং কোড পর্যালোচনার পদক্ষেপগুলি স্বয়ংক্রিয় করতে Gemini-এর সাথে এটিকে একীভূত করবেন।

699d5f6035abbc3a.png

এই ল্যাবে, আপনি নিম্নলিখিতগুলি কীভাবে করবেন তা শিখবেন:

  • GitHub এ GenAI কোড পর্যালোচনা অটোমেশন পদক্ষেপগুলি কীভাবে যুক্ত করবেন
  • কোড রিভিউ স্বয়ংক্রিয় করতে স্থানীয়ভাবে কিভাবে devai cli চালাবেন
  • এই ল্যাবটি ক্লাউড কনসোল এবং ক্লাউড শেল পরিবেশের সাথে পরিচিতি অনুমান করে।

2. সেটআপ এবং প্রয়োজনীয়তা

ক্লাউড প্রজেক্ট সেটআপ

  1. Google ক্লাউড কনসোলে সাইন-ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান একটি পুনরায় ব্যবহার করুন৷ আপনার যদি ইতিমধ্যেই একটি Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে।

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • প্রকল্পের নাম এই প্রকল্পের অংশগ্রহণকারীদের জন্য প্রদর্শনের নাম। এটি একটি অক্ষর স্ট্রিং যা Google API দ্বারা ব্যবহৃত হয় না। আপনি সবসময় এটি আপডেট করতে পারেন.
  • প্রোজেক্ট আইডি সমস্ত Google ক্লাউড প্রোজেক্ট জুড়ে অনন্য এবং অপরিবর্তনীয় (সেট করার পরে পরিবর্তন করা যাবে না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত আপনি এটা কি যত্ন না. বেশিরভাগ কোডল্যাবে, আপনাকে আপনার প্রকল্প আইডি উল্লেখ করতে হবে (সাধারণত PROJECT_ID হিসাবে চিহ্নিত)। আপনি যদি জেনারেট করা আইডি পছন্দ না করেন, তাহলে আপনি অন্য একটি এলোমেলো আইডি তৈরি করতে পারেন। বিকল্পভাবে, আপনি নিজের চেষ্টা করতে পারেন, এবং এটি উপলব্ধ কিনা দেখতে পারেন। এই ধাপের পরে এটি পরিবর্তন করা যাবে না এবং প্রকল্পের সময়কালের জন্য থাকে।
  • আপনার তথ্যের জন্য, একটি তৃতীয় মান আছে, একটি প্রকল্প নম্বর , যা কিছু API ব্যবহার করে। ডকুমেন্টেশনে এই তিনটি মান সম্পর্কে আরও জানুন।
  1. এরপরে, ক্লাউড রিসোর্স/এপিআই ব্যবহার করতে আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে। এই কোডল্যাবের মাধ্যমে চালানোর জন্য খুব বেশি খরচ হবে না, যদি কিছু হয়। এই টিউটোরিয়ালের বাইরে বিলিং এড়াতে সংস্থানগুলি বন্ধ করতে, আপনি আপনার তৈরি করা সংস্থানগুলি মুছতে বা প্রকল্প মুছতে পারেন। নতুন Google ক্লাউড ব্যবহারকারীরা $300 USD বিনামূল্যের ট্রায়াল প্রোগ্রামের জন্য যোগ্য৷

এনভায়রনমেন্ট সেটআপ

মিথুন চ্যাট খুলুন।

bc3c899ac8bcf488.png

অথবা সার্চ বারে "Ask Gemini" টাইপ করুন।

e1e9ad314691368a.png

Google Cloud API-এর জন্য Gemini সক্ষম করুন:

990a0ceea7d05531.png

" Start chatting " ক্লিক করুন এবং একটি নমুনা প্রশ্ন অনুসরণ করুন বা এটি চেষ্টা করার জন্য আপনার নিজস্ব প্রম্পট টাইপ করুন।

ed120d672468b412.png

চেষ্টা করার জন্য অনুরোধ করে:

  • ক্লাউড রানকে ৫টি মূল পয়েন্টে ব্যাখ্যা কর।
  • আপনি Google ক্লাউড রান প্রোডাক্ট ম্যানেজার, ক্লাউড রানকে 5টি সংক্ষিপ্ত মূল পয়েন্টে ব্যাখ্যা করুন।
  • আপনি Google ক্লাউড রান প্রোডাক্ট ম্যানেজার, একজন প্রত্যয়িত কুবারনেটস ডেভেলপারকে 5টি সংক্ষিপ্ত মূল পয়েন্টে ক্লাউড রান ব্যাখ্যা করুন।
  • আপনি Google ক্লাউড রান প্রোডাক্ট ম্যানেজার, আপনি কখন ক্লাউড রান বনাম GKE ব্যবহার করবেন একজন সিনিয়র ডেভেলপারকে ৫টি সংক্ষিপ্ত মূল পয়েন্টে ব্যাখ্যা করুন।

আরও ভাল প্রম্পট লেখার বিষয়ে আরও জানতে প্রম্পট গাইড দেখুন।

গুগল ক্লাউডের জন্য মিথুন কীভাবে আপনার ডেটা ব্যবহার করে

Google এর গোপনীয়তা প্রতিশ্রুতি

AI/ML গোপনীয়তা প্রতিশ্রুতি প্রকাশ করার জন্য Google শিল্পের প্রথম একজন, যা আমাদের বিশ্বাসের রূপরেখা দেয় যে গ্রাহকদের ক্লাউডে সঞ্চিত তাদের ডেটার উপর সর্বোচ্চ স্তরের নিরাপত্তা এবং নিয়ন্ত্রণ থাকা উচিত।

আপনার জমা দেওয়া এবং প্রাপ্ত ডেটা

আপনি জেমিনিকে যে প্রশ্নগুলি জিজ্ঞাসা করেন, তার মধ্যে যেকোন ইনপুট তথ্য বা কোড যা আপনি বিশ্লেষণ বা সম্পূর্ণ করার জন্য মিথুনে জমা দেন, তাকে প্রম্পট বলা হয়। আপনি মিথুন থেকে প্রাপ্ত উত্তর বা কোড সমাপ্তিগুলিকে প্রতিক্রিয়া বলা হয়। মিথুন আপনার প্রম্পট বা এর প্রতিক্রিয়াগুলি তার মডেলগুলিকে প্রশিক্ষণের জন্য ডেটা হিসাবে ব্যবহার করে না

প্রম্পট এনক্রিপশন

আপনি যখন মিথুনে প্রম্পট জমা দেন, তখন আপনার ডেটা মিথুনের অন্তর্নিহিত মডেলে ইনপুট হিসাবে ট্রানজিটে এনক্রিপ্ট করা হয়

মিথুন থেকে তৈরি করা প্রোগ্রাম ডেটা

মিথুনকে প্রথম-পক্ষের Google ক্লাউড কোডের পাশাপাশি নির্বাচিত তৃতীয়-পক্ষের কোডে প্রশিক্ষণ দেওয়া হয়। আপনি আপনার কোডের নিরাপত্তা, পরীক্ষা এবং কার্যকারিতার জন্য দায়ী , যার মধ্যে যেকোন কোড সমাপ্তি, প্রজন্ম বা বিশ্লেষণ যা জেমিনি আপনাকে অফার করে।

Google কীভাবে আপনার প্রম্পট পরিচালনা করে তা আরও জানুন

3. প্রম্পট পরীক্ষা করার বিকল্প

আপনি যদি বিদ্যমান devai cli প্রম্পটগুলি পরিবর্তন/প্রসারিত করতে চান তবে আপনার কাছে এর জন্য বেশ কয়েকটি বিকল্প রয়েছে।

Vertex AI স্টুডিও হল Google ক্লাউডের Vertex AI প্ল্যাটফর্মের একটি অংশ, বিশেষভাবে তৈরি করা হয়েছে যাতে জেনারেটিভ AI মডেলগুলির বিকাশ এবং ব্যবহারকে ত্বরান্বিত করা যায়৷

Google AI স্টুডিও হল প্রোটোটাইপিং এবং প্রম্পট ইঞ্জিনিয়ারিং এবং জেমিনি API-এর সাথে পরীক্ষা করার জন্য একটি ওয়েব-ভিত্তিক টুল।

Google Gemini ওয়েব অ্যাপ (gemini.google.com) হল একটি ওয়েব-ভিত্তিক টুল যা আপনাকে Google-এর জেমিনি AI মডেলগুলির শক্তি অন্বেষণ এবং ব্যবহার করতে সাহায্য করার জন্য ডিজাইন করা হয়েছে৷

4. সার্ভিস অ্যাকাউন্ট তৈরি করুন

অনুসন্ধান বারের ডানদিকে আইকনে ক্লিক করে ক্লাউড শেল সক্রিয় করুন।

3e0c761ca41f315e.png

খোলা টার্মিনালে, Vertex AI API এবং Gemini চ্যাট ব্যবহার করার জন্য প্রয়োজনীয় পরিষেবাগুলি সক্ষম করুন৷

gcloud services enable \
    aiplatform
.googleapis.com \
    cloudaicompanion
.googleapis.com \
    cloudresourcemanager
.googleapis.com \
    secretmanager
.googleapis.com

অনুমোদনের জন্য অনুরোধ করা হলে, চালিয়ে যেতে "অনুমোদিত করুন" এ ক্লিক করুন।

6356559df3eccdda.png

একটি নতুন পরিষেবা অ্যাকাউন্ট এবং কী তৈরি করতে নিম্নলিখিত কমান্ডগুলি চালান।

আপনি CICD পাইপলাইন থেকে Vertex AI Gemini API-এ API কল করতে এই পরিষেবা অ্যাকাউন্টটি ব্যবহার করবেন।

PROJECT_ID=$(gcloud config get-value project)
SERVICE_ACCOUNT_NAME
='vertex-client'
DISPLAY_NAME
='Vertex Client'
KEY_FILE_NAME
='vertex-client-key'

gcloud iam service
-accounts create $SERVICE_ACCOUNT_NAME --display-name "$DISPLAY_NAME"

ভূমিকা অনুদান.

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/aiplatform.admin" --condition None

gcloud projects add
-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/secretmanager.secretAccessor" --condition None

gcloud iam service
-accounts keys create $KEY_FILE_NAME.json --iam-account=$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com

5. আপনার ব্যক্তিগত GitHub রেপোতে ফোর্ক গিটহাব রেপো

https://github.com/GoogleCloudPlatform/genai-for-developers/fork- এ যান এবং মালিক হিসেবে আপনার GitHub userid নির্বাচন করুন।

" Create fork " ক্লিক করুন।

6. GitHub অ্যাকশন ওয়ার্কফ্লো সক্ষম করুন

ব্রাউজারে কাঁটাযুক্ত GitHub রেপো খুলুন এবং কর্মপ্রবাহ সক্ষম করতে " Actions " ট্যাবে স্যুইচ করুন৷

1cd04db9b37af7cf.png

7. সংগ্রহস্থল গোপন যোগ করুন

কাঁটাযুক্ত GitHub সংগ্রহস্থলে " Settings / Secrets and variables / Actions " এর অধীনে একটি সংগ্রহস্থলের গোপনীয়তা তৈরি করুন।

" GOOGLE_API_CREDENTIALS " নামের সাথে সংগ্রহস্থল গোপন যোগ করুন৷

94cbe2778bef25eb.png

Google ক্লাউড শেল উইন্ডো/ট্যাবে স্যুইচ করুন এবং ক্লাউড শেল টার্মিনালে নীচের কমান্ডটি চালান।

cat ~/vertex-client-key.json

ফাইলের বিষয়বস্তু কপি করুন এবং গোপনীয়তার মান হিসেবে পেস্ট করুন।

915579a97f8f2ced.png

একটি মান হিসাবে আপনার Qwiklabs প্রকল্প আইডির সাথে PROJECT_ID গোপন যোগ করুন:

4fa92833ce615a36.png

8. GitHub অ্যাকশন ওয়ার্কফ্লো চালান

ব্রাউজারে আপনার GitHub সংগ্রহস্থলে নেভিগেট করুন এবং ওয়ার্কফ্লো চালান।

কর্মপ্রবাহটি চাহিদা অনুযায়ী চালানোর জন্য কনফিগার করা হয়েছে।

da11273b4b54f7b6.png

9. ওয়ার্কফ্লো আউটপুট পর্যালোচনা করুন

cf49aa41980aacc5.png

পাইপলাইন কমান্ড ওভারভিউ

GitHub অ্যাকশন ওয়ার্কফ্লো কনফিগারেশন: devai-review.yml

পরীক্ষা কভারেজ কমান্ডের ফলাফল :

devai review testcoverage -c ${{ github.workspace }}/sample-app/src/main/java/anthos/samples/bankofanthos/balancereader

এই devai review testcoverage কমান্ড জেমিনি, জেমিনি ব্যবহার করে কোড এবং এর সাথে সম্পর্কিত পরীক্ষা স্যুট বিশ্লেষণ করে, যদি উপলব্ধ থাকে। এটি প্রদত্ত কোডের পরীক্ষার কভারেজ মূল্যায়ন করে, ইউনিট পরীক্ষা সহ এবং ছাড়া ফাইল এবং পদ্ধতিগুলি সনাক্ত করে। কমান্ডটি তখন কভারেজের একটি সারসংক্ষেপ প্রদান করতে মডেলটিকে লিভারেজ করে, যার মধ্যে রয়েছে লাইন এবং শাখা/পরিস্থিতির মতো মেট্রিক্স। এর বিশ্লেষণের উপর ভিত্তি করে, এটি পরীক্ষার কভারেজ উন্নত করার জন্য সুপারিশ করে, যোগ করার জন্য নির্দিষ্ট পরীক্ষার পরামর্শ দেয় এবং সর্বোত্তম অনুশীলন পরীক্ষা করার বিষয়ে সাধারণ পরামর্শ প্রদান করে। অবশেষে, এটি জেমিনি মডেলের প্রতিক্রিয়াকে আউটপুট করে যার মধ্যে ফাইলগুলির কভারেজের অভাব এবং কমান্ড লাইনের মাধ্যমে ব্যবহারকারীর কাছে বিদ্যমান পরীক্ষাগুলি উন্নত করার পরামর্শের মতো বিবরণ অন্তর্ভুক্ত রয়েছে।

3b21bd4639524763.png

কোড পর্যালোচনা কমান্ডের ফলাফল :

devai review code -c ${{ github.workspace }}/sample-app/src/main/java/anthos/samples/bankofanthos/balancereader

devai review code কমান্ড একটি জেনারেটিভ এআই মডেল ব্যবহার করে একটি প্রদত্ত কোড স্নিপেটের একটি ব্যাপক কোড পর্যালোচনা পরিচালনা করে। কোডটিকে ইনপুট (প্রসঙ্গ) এবং একটি আউটপুট ফরম্যাট পছন্দ (আউটপুট) হিসাবে পর্যালোচনা করতে লাগে। এটি সঠিকতা, দক্ষতা, রক্ষণাবেক্ষণযোগ্যতা, নিরাপত্তা এবং সর্বোত্তম অনুশীলনের আনুগত্যের জন্য কোড বিশ্লেষণ করার জন্য একটি বৃহৎ ভাষার মডেল ব্যবহার করে। কমান্ডটি একটি বিশদ প্রম্পট তৈরি করে যাতে মিথুনকে কীভাবে পর্যালোচনা পরিচালনা করতে হয় এবং তারপরে প্রদত্ত কোড মূল্যায়নের জন্য মডেলের কাছে পাঠায়। অবশেষে, এটি মিথুনের প্রতিক্রিয়া প্রক্রিয়া করে, এটিকে মার্কডাউন, JSON, বা ব্যবহারকারীর পছন্দ অনুযায়ী একটি টেবিলে ফর্ম্যাট করে এবং পর্যালোচনার ফলাফল বের করে।

4876dbc2e0042943.png

সম্মতি পর্যালোচনা কমান্ডের ফলাফল :

devai review compliance -c ${{ github.workspace }}/sample-app/k8s --config ${{ github.workspace }}/devai-cli/gemini/styleguide.md

devai review compliance কমান্ডটি সর্বোত্তম অনুশীলনের একটি সেটের বিরুদ্ধে কোড বিশ্লেষণ করে, সাধারণত কুবারনেটস কনফিগারেশনের জন্য। এটি প্রদত্ত কোড ( context ) পর্যালোচনা করার জন্য একটি মিথুন মডেল ব্যবহার করে এবং একটি পৃথক কনফিগারেশন ফাইলে ( config ) সংজ্ঞায়িত নির্দিষ্ট মানগুলির সাথে তুলনা করে৷ কমান্ডটি জেমিনি মডেলকে একজন বিশেষজ্ঞ কুবারনেটস প্রকৌশলী হিসাবে কাজ করার এবং একটি কমপ্লায়েন্স রিপোর্ট প্রদান করার জন্য নির্দেশ দেওয়ার জন্য একটি প্রম্পট ব্যবহার করে। তারপরে এটি ফলাফলগুলিকে একটি সংক্ষিপ্ত ব্যাখ্যা হিসাবে ফর্ম্যাট করে, কোড নমুনার উপর ফোকাস করে যা প্রদর্শন করে যে কোনও চিহ্নিত সমস্যাগুলি কীভাবে সমাধান করা যায়। অবশেষে, কমান্ডটি কনসোলে জেমিনীর সম্মতি পর্যালোচনা আউটপুট প্রিন্ট করে। এটি একটি ব্যবহারকারীকে তাদের কোড মেনে চলার জন্য সহজেই অডিট করতে দেয়।

fa3d8b23a3af57cd.png

10. সংগ্রহস্থল ক্লোন করুন

ক্লাউড শেল টার্মিনালে ফিরে যান এবং সংগ্রহস্থল ক্লোন করুন।

কমান্ড চালানোর আগে আপনার GitHub userid-এ YOUR-GITHUB-USERID পরিবর্তন করুন।

git clone https://github.com/YOUR-GITHUB-USERID/genai-for-developers.git 

ফোল্ডার পরিবর্তন করুন এবং ক্লাউড শেল এডিটরে ওয়ার্কফ্লো ফাইল খুলুন।

cd genai-for-developers

cloudshell edit
.github/workflows/devai-review.yml

কনফিগার ফাইলটি IDE-তে প্রদর্শিত না হওয়া পর্যন্ত অপেক্ষা করুন।

11. জেমিনি কোড অ্যাসিস্ট দিয়ে কোড ব্যাখ্যা করুন

devai-review.yml ফাইলের যেকোনো জায়গায় রাইট ক্লিক করুন এবং Gemini Code Assist > Explain নির্বাচন করুন।

88bec44bbfd450e4.png

পর্যালোচনা ব্যাখ্যা:

4fe902fd2f0d3ae1.png

12. DevAI CLI ডেভেলপমেন্ট

এই বিভাগে আপনি devai cli তে পরিবর্তন করবেন।

শুরু করতে, python virtualenv সেট আপ করুন, প্রয়োজনীয়তা ইনস্টল করুন এবং নমুনা কমান্ড চালান।

cd ~/genai-for-developers/devai-cli
python3
-m venv venv
. venv/bin/activate
pip3 install
-r src/requirements.txt
pip3 install
--editable ./src
devai echo

প্রয়োজনীয় পরিবেশ ভেরিয়েবল সেট করুন।

export PROJECT_ID=$(gcloud config get-value project)
export LOCATION=us-central1

সবকিছু ঠিকঠাক কাজ করছে কিনা তা পরীক্ষা করতে কোড পর্যালোচনা কমান্ড চালান:

devai review code -c ~/genai-for-developers/sample-app/src/main/java/anthos/samples/bankofanthos/balancereader > code-review.md

cloudshell edit code
-review.md

ক্লাউড শেল এডিটরে মার্কডাউন প্রিভিউ ব্যবহার করে ফলাফল পর্যালোচনা করুন।

কমান্ড প্যালেট ব্যবহার করুন এবং " Markdown: Open Preview " নির্বাচন করুন।

9587123b62f12a55.png

9999e7fbb20cf251.png

9a12ba6ee8b3eedd.png

13. devai cli কমান্ড অন্বেষণ করুন

পরীক্ষা কভারেজ পর্যালোচনা কমান্ড

devai review testcoverage -c ~/genai-for-developers/sample-app/src > testcoverage.md

cloudshell edit testcoverage
.md

সম্মতি পর্যালোচনা আদেশ

devai review compliance --context ~/genai-for-developers/sample-app/k8s --config ~/genai-for-developers/devai-cli/.gemini/styleguide.md > k8s-review.md

cloudshell edit k8s
-review.md

কর্মক্ষমতা পর্যালোচনা কমান্ড

devai review performance -c ~/genai-for-developers/sample-app/src/main/java > performance-review.md

cloudshell edit performance
-review.md

নিরাপত্তা পর্যালোচনা কমান্ড

devai review security -c ~/genai-for-developers/sample-app/src/main/java > security-review.md

cloudshell edit security
-review.md

ব্লকার রিভিউ কমান্ড

devai review blockers -c ~/genai-for-developers/sample-app/pom.xml
devai review blockers -c ~/genai-for-developers/sample-app/setup.md

ছবি/ডায়াগ্রাম পর্যালোচনা এবং সারসংক্ষেপ

ইনপুট ডায়াগ্রাম[ ~/genai-for-developers/images/extension-diagram.png ]:

4b109a74e1aa3fb6.png

আদেশ পর্যালোচনা করুন:

devai review image \
 
-f ~/genai-for-developers/images/extension-diagram.png \
 
-p "Review and summarize this diagram" > image-review.md

cloudshell edit image
-review.md

আউটপুট:

The diagram outlines a process for conducting local code reviews using a VS Code extension or CLI, leveraging Google Cloud's Vertex AI (Gemini Pro) for generating review prompts. 

**Process Flow:**

1. **Code Style Check:** Developers initiate the process by checking their code for adherence to pre-defined style guidelines.
2. **Prompt Generation:** The VS Code extension/CLI sends the code to Vertex AI (Gemini Pro) on Google Cloud. 
3. **Vertex AI Review:**  Vertex AI analyzes the code and generates relevant review prompts.
4. **Local Review:** The prompts are sent back to the developer's IDE for their consideration.
5. **Optional Actions:** Developers can optionally: 
    - Create new JIRA issues directly from the IDE based on the review prompts.
    - Generate new issues in a GitLab repository.

**Key Components:**

* **VS Code Extension/CLI:** Tools facilitating the interaction with Vertex AI and potential integrations with JIRA and GitLab.
* **Vertex AI (Gemini Pro):**  Google Cloud's generative AI service responsible for understanding the code and generating meaningful review prompts.
* **Google Cloud Secret Manager:** Securely stores API keys and access tokens required to authenticate and interact with Google Cloud services.
* **JIRA/GitLab (Optional):** Issue tracking and project management tools that can be integrated for a streamlined workflow.

**Benefits:**

* **Automated Review Assistance:**  Leveraging AI to generate review prompts saves time and improves the consistency and quality of code reviews. 
* **Local Development:** The process empowers developers to conduct reviews locally within their familiar IDE.
* **Integration Options:** The flexibility to integrate with project management tools like JIRA and GitLab streamlines workflow and issue tracking.

চিত্র পার্থক্য বিশ্লেষণ

devai review imgdiff \
 
-c ~/genai-for-developers/images/devai-api.png \
 
-t ~/genai-for-developers/images/devai-api-slack.png > image-diff-review.md

cloudshell edit image
-diff-review.md

আউটপুট:

The following UI elements are missing in the "AFTER UPGRADE STATE" image compared to the "BEFORE UPGRADE STATE" image:

1. **Slack:** The entire Slack element, including the icon, "Team channel" label, and the arrow indicating interaction, is absent in the AFTER UPGRADE image. 
2. **Storage Bucket:**  The "Storage Bucket" element with its icon and "PDFs" label is missing in the AFTER UPGRADE image. 
3. **"GenAI Agents" label in Vertex AI block:** The BEFORE UPGRADE image has "Vertex AI Agents" and "GenAI Agent" labels within the Vertex AI block, while the AFTER UPGRADE image only has "Vertex AI."
4. **"Open JIRA Issue" and "Team Project" labels:** In the BEFORE UPGRADE image, these labels are connected to the JIRA block with an arrow. These are missing in the AFTER UPGRADE image.

**Decision Explanation:**

The analysis is based on a direct visual comparison of the two provided images, noting the presence and absence of specific UI elements and their associated labels. The elements listed above are present in the BEFORE UPGRADE image but absent in the AFTER UPGRADE image.

ভিডিও ফাইল বিশ্লেষণ:

devai review video \
 
-f "/tmp/video.mp4" \
 
-p "Review user journey video and create unit tests using jest framework"

ডকুমেন্টেশন জেনারেশন কমান্ড

devai document readme -c ~/genai-for-developers/sample-app/src/main/

আউটপুট:

# Bank of Anthos - Balance Reader Service

## Description

The Balance Reader service is a component of the Bank of Anthos sample application. It provides a REST endpoint for retrieving the current balance of a user account. This service demonstrates key concepts for building microservices with Spring Boot and deploying them to a Kubernetes cluster.

## Features
...

ক্লাউড শেল এডিটরে উপলব্ধ devai cli কমান্ড পর্যালোচনা করুন:

cloudshell edit ~/genai-for-developers/devai-cli/README.md

অথবা GitHub সংগ্রহস্থলে README.md পর্যালোচনা করুন।

14. অভিনন্দন!

অভিনন্দন, আপনি কোডল্যাব শেষ করেছেন!

আমরা যা কভার করেছি:

  • GitHub-এ GenAI কোড পর্যালোচনা অটোমেশন পদক্ষেপ যোগ করা
  • স্থানীয়ভাবে দেবাই ক্লি চলছে

এরপর কি:

  • আরো হ্যান্ড-অন সেশন আসছে!

পরিষ্কার করুন

এই টিউটোরিয়ালে ব্যবহৃত সংস্থানগুলির জন্য আপনার Google ক্লাউড অ্যাকাউন্টে চার্জ এড়াতে, হয় সংস্থানগুলি রয়েছে এমন প্রকল্পটি মুছুন, অথবা প্রকল্পটি রাখুন এবং পৃথক সংস্থানগুলি মুছুন৷

প্রকল্প মুছে ফেলা হচ্ছে

বিলিং দূর করার সবচেয়ে সহজ উপায় হল আপনি টিউটোরিয়ালের জন্য তৈরি করা প্রকল্পটি মুছে ফেলা।

©2024 Google LLC সর্বস্বত্ব সংরক্ষিত৷ Google এবং Google লোগো হল Google LLC-এর ট্রেডমার্ক। অন্যান্য সমস্ত কোম্পানি এবং পণ্যের নাম সংশ্লিষ্ট কোম্পানির ট্রেডমার্ক হতে পারে যার সাথে তারা যুক্ত।