1. ওভারভিউ
প্রথমবারের জন্য একটি ওয়েব অ্যাপ্লিকেশন স্থাপন করা ভীতিজনক হতে পারে। এমনকি প্রথম স্থাপনার পরেও, যদি প্রক্রিয়াটি খুব বেশি কাজ করে, আপনি আপনার অ্যাপ্লিকেশনের নতুন সংস্করণ স্থাপন করা এড়াতে পারেন। ক্রমাগত স্থাপনার সাথে, আপনি স্বয়ংক্রিয়ভাবে আপনার অ্যাপ্লিকেশনের পরিবর্তনগুলি সহজেই স্থাপন করতে পারেন।
এই ল্যাবে, আপনি একটি ওয়েব অ্যাপ্লিকেশন লেখেন এবং ক্লাউড রান কনফিগার করেন যাতে আপনার অ্যাপ্লিকেশনের সোর্স কোডে কোনো পরিবর্তন করা হলে স্বয়ংক্রিয়ভাবে আপনার অ্যাপ্লিকেশন স্থাপন করা হয়। তারপর আপনি আপনার অ্যাপ্লিকেশন পরিবর্তন করুন এবং এটি আবার স্থাপন করুন.
যা শিখবেন
- ক্লাউড শেল এডিটর দিয়ে একটি ওয়েব অ্যাপ্লিকেশন লিখুন
- GitHub এ আপনার অ্যাপ্লিকেশন কোড সংরক্ষণ করুন
- ক্লাউড রানে স্বয়ংক্রিয়ভাবে আপনার অ্যাপ্লিকেশন স্থাপন করুন
- Vertex AI ব্যবহার করে আপনার অ্যাপ্লিকেশনে জেনারেটিভ এআই যোগ করুন
2. পূর্বশর্ত
- আপনার যদি ইতিমধ্যে একটি Google অ্যাকাউন্ট না থাকে তবে আপনাকে অবশ্যই একটি Google অ্যাকাউন্ট তৈরি করতে হবে।
- কাজের বা স্কুল অ্যাকাউন্টের পরিবর্তে একটি ব্যক্তিগত অ্যাকাউন্ট ব্যবহার করুন। কর্মক্ষেত্র এবং স্কুল অ্যাকাউন্টগুলিতে বিধিনিষেধ থাকতে পারে যা আপনাকে এই ল্যাবের জন্য প্রয়োজনীয় APIগুলি সক্ষম করতে বাধা দেয়৷
- আপনার যদি ইতিমধ্যে একটি GitHub অ্যাকাউন্ট না থাকে তবে আপনাকে অবশ্যই একটি GitHub অ্যাকাউন্ট তৈরি করতে হবে
- আপনার যদি একটি বিদ্যমান GitHub অ্যাকাউন্ট থাকে তবে ব্যবহার করুন। GitHub স্প্যাম হিসাবে একটি নতুন অ্যাকাউন্ট ব্লক করার সম্ভাবনা বেশি।
- আপনার অ্যাকাউন্ট স্প্যাম হিসাবে চিহ্নিত হওয়ার সম্ভাবনা কমাতে আপনার GitHub অ্যাকাউন্টে দ্বি-ফ্যাক্টর প্রমাণীকরণ কনফিগার করুন ।
3. প্রকল্প সেটআপ
- Google ক্লাউড কনসোলে সাইন-ইন করুন।
- ক্লাউড কনসোলে বিলিং সক্ষম করুন ।
- এই ল্যাবটি সম্পূর্ণ করতে ক্লাউড সংস্থানগুলিতে $1 USD-এর কম খরচ হওয়া উচিত৷
- আপনি আরও চার্জ এড়াতে সংস্থানগুলি মুছতে এই ল্যাবের শেষে পদক্ষেপগুলি অনুসরণ করতে পারেন৷
- নতুন ব্যবহারকারীরা $300 USD ফ্রি ট্রায়ালের জন্য যোগ্য৷
- Devs ইভেন্টের জন্য একজন জেনারেল এআই-এ যোগ দিচ্ছেন? একটি $1 USD ক্রেডিট উপলব্ধ হতে পারে৷
- একটি নতুন প্রকল্প তৈরি করুন বা একটি বিদ্যমান প্রকল্প পুনরায় ব্যবহার করতে বেছে নিন।
- ক্লাউড বিলিং-এ আমার প্রকল্পগুলিতে বিলিং সক্ষম করা হয়েছে তা নিশ্চিত করুন৷
- যদি আপনার নতুন প্রকল্প বলে যে
Billing account
কলামেBilling is disabled
:-
Actions
কলামে তিনটি বিন্দুতে ক্লিক করুন - বিলিং পরিবর্তন করুন ক্লিক করুন
- আপনি যে বিলিং অ্যাকাউন্টটি ব্যবহার করতে চান তা নির্বাচন করুন
-
- আপনি যদি Devs ইভেন্টের জন্য একটি Gen AI-তে অংশগ্রহণ করেন, তাহলে অ্যাকাউন্টটির নাম Google ক্লাউড প্ল্যাটফর্ম ট্রায়াল বিলিং অ্যাকাউন্ট হতে পারে
- যদি আপনার নতুন প্রকল্প বলে যে
4. ক্লাউড শেল এডিটর খুলুন
- ক্লাউড শেল এডিটরে নেভিগেট করুন
- যদি টার্মিনালটি স্ক্রিনের নীচে প্রদর্শিত না হয় তবে এটি খুলুন:
- হ্যামবার্গার মেনুতে ক্লিক করুন
- টার্মিনাল ক্লিক করুন
- নতুন টার্মিনালে ক্লিক করুন
- হ্যামবার্গার মেনুতে ক্লিক করুন
- টার্মিনালে, এই কমান্ড দিয়ে আপনার প্রকল্প সেট করুন:
- বিন্যাস:
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
কমান্ড চালানোর চেষ্টা করুন।
5. API সক্রিয় করুন
টার্মিনালে, APIs সক্ষম করুন:
gcloud services enable \
run.googleapis.com \
cloudbuild.googleapis.com \
aiplatform.googleapis.com
এই কমান্ডটি সম্পূর্ণ হতে কয়েক মিনিট সময় নিতে পারে, তবে এটি শেষ পর্যন্ত এটির মতো একটি সফল বার্তা তৈরি করবে:
Operation "operations/acf.p2-73d90d00-47ee-447a-b600" finished successfully.
6. গিট কনফিগার করুন
- আপনার গ্লোবাল গিট ব্যবহারকারী ইমেল সেট করুন:
git config --global user.email "you@example.com"
- আপনার বিশ্বব্যাপী গিট ব্যবহারকারীর নাম সেট করুন:
git config --global user.name "Your Name"
- আপনার গ্লোবাল গিট ডিফল্ট শাখাকে
main
সেট করুন:git config --global init.defaultBranch main
7. আপনার কোড লিখুন
জাভাতে একটি অ্যাপ্লিকেশন লিখতে:
- হোম ডিরেক্টরিতে নেভিগেট করুন:
cd ~
-
codelab-genai
ডিরেক্টরি তৈরি করুন:mkdir codelab-genai
-
codelab-genai
ডিরেক্টরিতে নেভিগেট করুন:cd codelab-genai
- start.spring.io ব্যবহার করে একটি স্টার্টার অ্যাপ্লিকেশন তৈরি করুন:
curl https://start.spring.io/starter.zip \ -d dependencies=web \ -d javaVersion=17 \ -d type=maven-project \ -d bootVersion=3.3.2 -o java-starter.zip
- স্টার্ট অ্যাপ্লিকেশন আনজিপ করুন:
unzip java-starter.zip
- বিশৃঙ্খলা কমাতে জিপ সরান
rm java-starter.zip
- একটি
project.toml
ফাইল যোগ করতে এই কমান্ডটি চালান যা Java 17 ব্যবহার করার জন্য Cloud Buildpacks কনফিগার করবেcat > project.toml << EOF [[build.env]] name = "GOOGLE_RUNTIME_VERSION" value = "17" EOF
- ক্লাউড শেল এডিটরে
DemoApplication.java
ফাইলটি খুলুন: একটি ভারা প্রধান ফাইল এখন পর্দার উপরের অংশে উপস্থিত হওয়া উচিত। এখানে আপনি এইcloudshell edit src/main/java/com/example/demo/DemoApplication.java
DemoApplication.java
ফাইলটি সম্পাদনা করতে পারেন। - নিম্নলিখিত কোডটি অনুলিপি করুন এবং খোলা
DemoApplication.java
ফাইলে পেস্ট করুন: কয়েক সেকেন্ড পরে, ক্লাউড শেল এডিটর আপনার কোড স্বয়ংক্রিয়ভাবে সংরক্ষণ করবে। এই কোড আমাদের "হ্যালো ওয়ার্ল্ড!" greeting.এক ফাইলে দুটি ক্লাস থাকা স্প্রিং অ্যাপের জন্য কিছুটা অপ্রচলিত। কোডল্যাব সহজ করার জন্য এই পছন্দটি করা হয়েছিল।package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.GetMapping; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } @RestController class HelloController { @GetMapping("/") public String hello() { return "Hello world!"; } }
আপনার অ্যাপ্লিকেশনের জন্য আপনার প্রাথমিক কোড শেষ হয়েছে এবং সংস্করণ নিয়ন্ত্রণে সংরক্ষণ করার জন্য প্রস্তুত৷
8. একটি সংগ্রহস্থল তৈরি করুন
- আপনার স্ক্রিনের নীচে ক্লাউড শেল টার্মিনালে ফিরে যান।
- নিশ্চিত করুন যে আপনি এখনও সঠিক ডিরেক্টরিতে আছেন:
cd ~/codelab-genai
- আপনার গিট সংগ্রহস্থল শুরু করুন
git init -b main
- GitHub CLI-তে লগ ইন করুন
ডিফল্ট বিকল্পগুলি গ্রহণ করতেgh auth login
Enter
টিপুন এবং GitHub CLI টুলের নির্দেশাবলী অনুসরণ করুন সহ:- আপনি কি অ্যাকাউন্টে লগ ইন করতে চান?
GitHub.com
- এই হোস্টে গিট অপারেশনের জন্য আপনার পছন্দের প্রোটোকল কী?
HTTPS
- আপনার GitHub শংসাপত্রের সাথে গিটকে প্রমাণীকরণ করবেন?
Y
(এটি প্রদর্শিত না হলে এড়িয়ে যান।) - আপনি কিভাবে GitHub CLI প্রমাণীকরণ করতে চান?
Login with a web browser
- আপনার এককালীন কোড কপি করুন
- https://github.com/login/device খুলুন
- আপনার এককালীন কোড পেস্ট করুন
- গিথুব অনুমোদন করুন ক্লিক করুন
- আপনার লগইন সম্পূর্ণ করুন
- আপনি কি অ্যাকাউন্টে লগ ইন করতে চান?
- আপনি লগ ইন করেছেন তা নিশ্চিত করুন:
আপনি যদি সফলভাবে লগ ইন করে থাকেন তবে এটি আপনার GitHub ব্যবহারকারীর নাম আউটপুট করবে।gh api user -q ".login"
- একটি
GITHUB_USERNAME
ভেরিয়েবল তৈরি করুনGITHUB_USERNAME=$(gh api user -q ".login")
- আপনি পরিবেশ পরিবর্তনশীল তৈরি করেছেন তা নিশ্চিত করুন:
আপনি যদি সফলভাবে ভেরিয়েবল তৈরি করে থাকেন, তাহলে এটি আপনার GitHub ব্যবহারকারীর নাম আউটপুট করবে।echo ${GITHUB_USERNAME}
-
codelab-genai
নামে একটি খালি গিটহাব সংগ্রহস্থল তৈরি করুন: আপনি যদি ত্রুটিটি পান:gh repo create codelab-genai --private
তারপরে আপনার ইতিমধ্যেGraphQL: Name already exists on this account (createRepository)
codelab-genai
নামে একটি সংগ্রহস্থল রয়েছে। এই টিউটোরিয়ালটি অনুসরণ করার জন্য আপনার কাছে দুটি বিকল্প রয়েছে:- বিদ্যমান GitHub সংগ্রহস্থল মুছুন
- একটি ভিন্ন নামে একটি সংগ্রহস্থল তৈরি করুন এবং নিম্নলিখিত কমান্ডগুলিতে এটি পরিবর্তন করতে মনে রাখবেন।
- দূরবর্তী
origin
হিসাবেcodelab-genai
সংগ্রহস্থল যোগ করুন:git remote add origin https://github.com/${GITHUB_USERNAME}/codelab-genai
9. আপনার কোড শেয়ার করুন
- আপনি সঠিক ডিরেক্টরিতে আছেন তা নিশ্চিত করুন:
cd ~/codelab-genai
- এই প্রতিশ্রুতিতে বর্তমান ডিরেক্টরিতে সমস্ত ফাইল যুক্ত করুন:
git add .
- প্রথম প্রতিশ্রুতি তৈরি করুন:
git commit -m "add http server"
-
origin
সংগ্রহস্থলেরmain
শাখায় আপনার প্রতিশ্রুতি ঠেলে দিন:git push -u origin main
আপনি এই কমান্ডটি চালাতে পারেন এবং GitHub-এ আপনার অ্যাপ্লিকেশন কোড দেখতে ফলস্বরূপ URL-এ যেতে পারেন:
echo -e "\n\nTo see your code, visit this URL:\n \
https://github.com/${GITHUB_USERNAME}/codelab-genai/blob/main/src/main/java/com/example/demo/DemoApplication.java \n\n"
10. স্বয়ংক্রিয় স্থাপনা সেট আপ করুন
- ক্লাউড শেল এডিটর ট্যাবটি খোলা রেখে দিন। আমরা পরে এই ট্যাবে ফিরে আসব।
- একটি নতুন ট্যাবে, ক্লাউড রান পৃষ্ঠাতে যান
- কনসোলে সঠিক Google ক্লাউড প্রকল্প নির্বাচন করুন
- Connect REPO এ ক্লিক করুন
- ক্লাউড বিল্ডের সাথে সেট আপ করুন ক্লিক করুন
- রিপোজিটরি প্রদানকারী হিসাবে GitHub নির্বাচন করুন
- আপনি যদি ব্রাউজারে আপনার GitHub অ্যাকাউন্টে লগ ইন না করে থাকেন তবে আপনার শংসাপত্র দিয়ে লগ ইন করুন।
- প্রমাণীকরণ ক্লিক করুন এবং তারপরে অবিরত ক্লিক করুন।
- লগ ইন করার পরে, আপনি ক্লাউড রান পৃষ্ঠায় একটি বার্তা দেখতে পাবেন যেখানে বলা হয়েছে যে গিটহাব অ্যাপটি আপনার কোনো সংগ্রহস্থলে ইনস্টল করা নেই।
- ইন্সটল GOOGLE ক্লাউড বিল্ড বোতামে ক্লিক করুন।
- ইনস্টলেশন সেটআপ পৃষ্ঠায়, শুধুমাত্র সংগ্রহস্থল নির্বাচন করুন এবং সিএলআই-এর মাধ্যমে আপনি তৈরি করা কোডল্যাব-জেনাই সংগ্রহস্থল নির্বাচন করুন।
- Install এ ক্লিক করুন
- দ্রষ্টব্য: আপনার যদি প্রচুর GitHub সংগ্রহস্থল থাকে তবে এটি লোড হতে কয়েক মিনিট সময় নিতে পারে।
- সংগ্রহস্থল হিসাবে
your-user-name/codelab-genai
নির্বাচন করুন- সংগ্রহস্থল উপস্থিত না থাকলে, সংযুক্ত সংগ্রহস্থল পরিচালনা লিঙ্কে ক্লিক করুন।
-
^main$
হিসাবে শাখা ছেড়ে দিন - Google ক্লাউডের বিল্ডপ্যাকগুলির মাধ্যমে Go, Node.js, Python, Java, .NET Core, Ruby বা PHP-এ ক্লিক করুন
- অন্যান্য ক্ষেত্রগুলি (
Build context directory
,Entrypoint
এবংFunction target
) যেমন আছে সেগুলি ছেড়ে দিন।
- অন্যান্য ক্ষেত্রগুলি (
- Save এ ক্লিক করুন
- রিপোজিটরি প্রদানকারী হিসাবে GitHub নির্বাচন করুন
- প্রমাণীকরণে নিচে স্ক্রোল করুন
- অননুমোদিত আহ্বানের অনুমতি দিন ক্লিক করুন
- CREATE এ ক্লিক করুন
একবার বিল্ড শেষ হয়ে গেলে (যা বেশ কয়েক মিনিট সময় নেবে), এই কমান্ডটি চালান এবং আপনার চলমান অ্যাপ্লিকেশনটি দেখতে ফলস্বরূপ URL এ যান:
echo -e "\n\nOnce the build finishes, visit your live application:\n \
"$( \
gcloud run services list | \
grep codelab-genai | \
awk '/URL/{print $2}' | \
head -1 \
)" \n\n"
11. আপনার কোড পরিবর্তন করুন
ক্লাউড শেল এডিটরে ফিরে যান
আপনার যদি এখনও ক্লাউড শেল এডিটর খোলা থাকে তবে আপনি এই পদক্ষেপগুলি এড়িয়ে যেতে পারেন।
- ক্লাউড শেল এডিটরে নেভিগেট করুন
- যদি টার্মিনালটি স্ক্রিনের নীচে প্রদর্শিত না হয় তবে এটি খুলুন:
- হ্যামবার্গার মেনুতে ক্লিক করুন
- টার্মিনাল ক্লিক করুন
- নতুন টার্মিনালে ক্লিক করুন
- হ্যামবার্গার মেনুতে ক্লিক করুন
- টার্মিনালে, এই কমান্ড দিয়ে আপনার প্রকল্প সেট করুন:
- বিন্যাস:
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
কমান্ড চালানোর চেষ্টা করুন।
আপনার অ্যাপ্লিকেশনে Vertex AI যোগ করুন
- আপনার স্ক্রিনের নীচে ক্লাউড শেল টার্মিনালে ফিরে যান।
- নিশ্চিত করুন যে আপনি এখনও সঠিক ডিরেক্টরিতে আছেন:
cd ~/codelab-genai
- আপনার
pom.xml
এর 42 নম্বর লাইনে নিম্নলিখিত যোগ করে Java Vertex AI SDK ইনস্টল করুন:sed -i 's/<dependencies>/<dependencies>\r\n\r\n\t\t<dependency>\r\n\t\t\t<groupId>com.google.cloud<\/groupId>\r\n\t\t\t<artifactId>google-cloud-vertexai<\/artifactId>\r\n\t\t\t<version>1.7.0<\/version>\r\n\t\t<\/dependency>\r\n/g' pom.xml
- পরে প্রোজেক্ট আইডি পুনরুদ্ধার করতে Google ক্লাউড কোর লাইব্রেরি ইনস্টল করুন:
sed -i 's/<dependencies>/<dependencies>\r\n\r\n\t\t<dependency>\r\n\t\t\t<groupId>com.google.cloud<\/groupId>\r\n\t\t\t<artifactId>google-cloud-core<\/artifactId>\r\n\t\t\t<version>2.42.0<\/version>\r\n\t\t<\/dependency>\r\n/g' pom.xml
- ক্লাউড শেল এডিটরে
DemoApplication.java
পুনরায় খুলুনcloudshell edit ~/codelab-genai/src/main/java/com/example/demo/DemoApplication.java
- আপনার
DemoApplication.java
ফাইলের কোডটি এর সাথে প্রতিস্থাপন করুন:package com.example.demo; import java.io.IOException; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.google.cloud.vertexai.VertexAI; import com.google.cloud.vertexai.api.GenerateContentResponse; import com.google.cloud.vertexai.generativeai.GenerativeModel; import com.google.cloud.vertexai.generativeai.ResponseHandler; import com.google.cloud.ServiceOptions; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } @RestController class HelloController { String projectId = ServiceOptions.getDefaultProjectId(); @GetMapping("/") public String getFacts(@RequestParam(defaultValue = "dog") String animal) throws IOException { String prompt = "Give me 10 fun facts about " + animal + ". Return this as html without backticks."; VertexAI vertexAI = new VertexAI(projectId, null); GenerativeModel model = new GenerativeModel("gemini-1.5-flash", vertexAI); GenerateContentResponse response = model.generateContent(prompt); return ResponseHandler.getText(response); } }
12. পুনঃনিয়োগ করুন
- নিশ্চিত করুন যে আপনি এখনও ক্লাউড শেলের সঠিক ডিরেক্টরিতে আছেন:
cd ~/codelab-genai
- আপনার স্থানীয় গিট সংগ্রহস্থলে আপনার অ্যাপ্লিকেশনটির একটি নতুন সংস্করণ কমিট করতে এই কমান্ডগুলি চালান:
git add . git commit -m "add latest changes"
- GitHub এ পরিবর্তনগুলি পুশ করুন:
git push
- একবার বিল্ড শেষ হলে, এই কমান্ডটি চালান এবং আপনার স্থাপন করা অ্যাপ্লিকেশনটি দেখুন:
echo -e "\n\nOnce the build finishes, visit your live application:\n \ "$( \ gcloud run services list | \ grep codelab-genai | \ awk '/URL/{print $2}' | \ head -1 \ )" \n\n"
আপনি আপনার পরিবর্তনগুলি দেখতে পাওয়ার আগে বিল্ডটি শেষ হতে কয়েক মিনিট সময় লাগতে পারে৷
আপনি এখানে সমস্ত সংশোধনের ইতিহাস দেখতে পারেন: https://console.cloud.google.com/run/detail/us-central1/codelab-genai/revisions
13. (ঐচ্ছিক) আপনার Vertex AI ব্যবহার অডিট করুন
অন্যান্য Google ক্লাউড পরিষেবাগুলির মতো আপনি Vertex AI অপারেশনগুলি অডিট করতে পারেন৷ অডিট লগ আপনাকে প্রশ্নের উত্তর দিতে সাহায্য করে, "কে কি করেছে, কোথায় এবং কখন?"। Vertex AI-এর জন্য প্রশাসনিক নিরীক্ষা লগগুলি ডিফল্টরূপে সক্রিয় করা হয়। বিষয়বস্তু তৈরি করার অনুরোধগুলি নিরীক্ষণ করতে আপনাকে ডেটা অ্যাক্সেস অডিট লগগুলি সক্ষম করতে হবে:
- Google ক্লাউড কনসোলে, অডিট লগ পৃষ্ঠায় যান:
আপনি যদি এই পৃষ্ঠাটি খুঁজে পেতে অনুসন্ধান বার ব্যবহার করেন, তাহলে ফলাফলটি নির্বাচন করুন যার উপশিরোনাম হল IAM & Admin । - নিশ্চিত করুন যে বিদ্যমান Google ক্লাউড প্রজেক্টটি সেই একটি যেখানে আপনি আপনার ক্লাউড রান অ্যাপ্লিকেশন তৈরি করেন৷
- ডেটা অ্যাক্সেস অডিট লগ কনফিগারেশন টেবিলে, পরিষেবা কলাম থেকে
Vertex AI API
নির্বাচন করুন। - লগ টাইপস ট্যাবে, ডেটা অ্যাক্সেস অডিট লগের ধরন
Admin read
এবংData read
নির্বাচন করুন। - Save এ ক্লিক করুন।
এটি সক্ষম করার পরে আপনি অ্যাপ্লিকেশনটির প্রতিটি আহ্বানের জন্য নিরীক্ষা লগ দেখতে সক্ষম হবেন৷ আমন্ত্রণ বিবরণ সহ অডিট লগগুলি দেখতে নিম্নলিখিতগুলি করুন:
- আপনার স্থাপন করা অ্যাপ্লিকেশনে ফিরে যান এবং লগটি ট্রিগার করতে পৃষ্ঠাটি রিফ্রেশ করুন৷
- Google ক্লাউড কনসোলে, লগ এক্সপ্লোরার পৃষ্ঠায় যান:
- ক্যোয়ারী উইন্ডোতে টাইপ করুন:
LOG_ID("cloudaudit.googleapis.com%2Fdata_access") protoPayload.serviceName="aiplatform.googleapis.com"
- রান ক্যোয়ারী ক্লিক করুন.
অডিট লগগুলি Vertex AI API-এর ব্যবহার ক্যাপচার করে কিন্তু তারা আপনাকে কাজের চাপ সম্পর্কিত ডেটা যেমন প্রম্পট বা প্রতিক্রিয়া বিবরণ পর্যবেক্ষণ করতে দেয় না।
14. (ঐচ্ছিক) আপনার AI কাজের চাপের পর্যবেক্ষণযোগ্যতা বৃদ্ধি করুন
অডিট লগগুলি কাজের চাপ সম্পর্কিত তথ্য ক্যাপচার করে না। আপনার কাজের চাপের পর্যবেক্ষণযোগ্যতা বাড়ানোর জন্য আপনাকে এই তথ্যটি স্পষ্টভাবে লগ করতে হবে। আপনি এটি করতে আপনার প্রিয় লগিং ফ্রেমওয়ার্ক ব্যবহার করতে পারেন। নিম্নলিখিত পদক্ষেপগুলি নেটিভ জাভা ইউটিল লগিং মেকানিজম ব্যবহার করে কীভাবে এটি করতে হয় তা প্রদর্শন করে।
- ক্লাউড শেল এডিটরে
DemoApplication.java
পুনরায় খুলুনcloudshell edit ~/codelab-genai/src/main/java/com/example/demo/DemoApplication.java
- আপনার
DemoApplication.java
ফাইলের কোডটি এর সাথে প্রতিস্থাপন করুন: এই কোডটি স্ট্রাকচার্ড লগিং ফর্ম্যাট ব্যবহার করে জেনারেট করা বিষয়বস্তু সম্পর্কেpackage com.example.demo; import java.io.IOException; import java.util.HashMap; import java.util.logging.Level; import java.util.logging.Logger; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.google.cloud.vertexai.VertexAI; import com.google.cloud.vertexai.api.GenerateContentResponse; import com.google.cloud.vertexai.generativeai.GenerativeModel; import com.google.cloud.vertexai.generativeai.ResponseHandler; import com.google.cloud.ServiceOptions; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } @RestController class HelloController { final Logger logger = Logger.getLogger(HelloController.class.getName()); String projectId = ServiceOptions.getDefaultProjectId(); @GetMapping("/") public String getFacts(@RequestParam(defaultValue = "dog") String animal) throws IOException { String prompt = "Give me 10 fun facts about " + animal + ". Return this as html without backticks."; VertexAI vertexAI = new VertexAI(projectId, null); GenerativeModel model = new GenerativeModel("gemini-1.5-flash", vertexAI); GenerateContentResponse response = model.generateContent(prompt); logger.log(Level.INFO, "Content is generated", new HashMap<String, Object>() { { put("prompt", prompt); put("response", response); } }); return ResponseHandler.getText(response); } }
stdout
তথ্য লেখে। ক্লাউড রানের একটি লগিং এজেন্টstdout
এ প্রিন্ট করা আউটপুট ক্যাপচার করে এবং এই ফরম্যাটটিকে ক্লাউড লগিং-এ লেখে । - ক্লাউড শেল পুনরায় খুলুন এবং আপনি সঠিক ডিরেক্টরিতে আছেন তা নিশ্চিত করতে নিম্নলিখিত কমান্ডটি টাইপ করুন:
cd ~/codelab-genai
- পরিবর্তনগুলি কমিট করুন:
git commit -am "observe generated content"
- পরিবর্তিত সংস্করণের পুনঃনিয়োগ ট্রিগার করতে GitHub-এ পরিবর্তনগুলি পুশ করুন:
git push
নতুন সংস্করণ স্থাপন করার পরে আপনি Vertex AI-তে কল সম্পর্কে ডিবাগ তথ্য পর্যবেক্ষণ করতে পারেন।
আপনার অ্যাপ্লিকেশন লগগুলি দেখতে নিম্নলিখিতগুলি করুন:
- Google ক্লাউড কনসোলে, লগ এক্সপ্লোরার পৃষ্ঠায় যান:
- ক্যোয়ারী উইন্ডোতে টাইপ করুন:
LOG_ID("run.googleapis.com%2Fstdout") severity=DEBUG
- রান ক্যোয়ারী ক্লিক করুন.
প্রশ্নের ফলাফল প্রম্পট এবং ভার্টেক্স এআই প্রতিক্রিয়া সহ লগগুলি দেখায় "নিরাপত্তা রেটিং" সহ যা নিরাপত্তা অনুশীলনগুলি পর্যবেক্ষণের জন্য ব্যবহার করা যেতে পারে
15. (ঐচ্ছিক) পরিষ্কার করুন
পরিষেবাটি ব্যবহার না হলে ক্লাউড রান চার্জ না করলেও, আর্টিফ্যাক্ট রেজিস্ট্রিতে কন্টেইনার ইমেজ সংরক্ষণ করার জন্য আপনাকে চার্জ করা হতে পারে। চার্জ এড়াতে আপনি আপনার ক্লাউড প্রকল্প মুছে ফেলতে পারেন। আপনার ক্লাউড প্রকল্প মুছে ফেলা সেই প্রকল্পের মধ্যে ব্যবহৃত সমস্ত সংস্থানের জন্য বিলিং বন্ধ করে দেয়।
আপনি যদি চান, প্রকল্প মুছে ফেলুন:
gcloud projects delete $GOOGLE_CLOUD_PROJECT
আপনি আপনার ক্লাউডশেল ডিস্ক থেকে অপ্রয়োজনীয় সংস্থানগুলি মুছতেও চাইতে পারেন। আপনি করতে পারেন:
- কোডল্যাব প্রকল্প ডিরেক্টরি মুছুন:
rm -rf ~/codelab-genai
- সতর্কতা ! এই ক্রিয়াটি পূর্বাবস্থায় ফেরানো যাবে না! আপনি যদি স্থান খালি করতে আপনার ক্লাউড শেলের সবকিছু মুছতে চান, তাহলে আপনি আপনার পুরো হোম ডিরেক্টরি মুছে ফেলতে পারেন। সতর্ক থাকুন যে আপনি যা কিছু রাখতে চান তা অন্য কোথাও সংরক্ষণ করা হয়।
sudo rm -rf $HOME
16. অভিনন্দন
এই ল্যাবে, আপনি একটি ওয়েব অ্যাপ্লিকেশন লিখেছেন এবং আপনার অ্যাপ্লিকেশনের সোর্স কোডে একটি পরিবর্তন করা হলে স্বয়ংক্রিয়ভাবে আপনার অ্যাপ্লিকেশন স্থাপন করতে ক্লাউড রান কনফিগার করেছেন৷ তারপরে আপনি আপনার অ্যাপ্লিকেশনটি সংশোধন করেছেন এবং এটি আবার স্থাপন করেছেন।
আপনি যদি এই ল্যাবটি উপভোগ করেন তবে আপনি এটি অন্য কোডিং ভাষা বা কাঠামোতে আবার চেষ্টা করতে পারেন:
আপনি যদি আজকে যে পণ্যগুলির সাথে কাজ করেছেন তার উন্নতির জন্য ব্যবহারকারীর অভিজ্ঞতা (UX) গবেষণা গবেষণায় অন্তর্ভুক্ত হতে আগ্রহী হন, এখানে নিবন্ধন করুন ৷
আপনার শেখা চালিয়ে যাওয়ার জন্য এখানে কিছু বিকল্প রয়েছে:
- ডক্স: একটি নমনীয় মডেল বিমূর্ততা হিসাবে Firebase GenKit ব্যবহার করুন যা যেকোনো মডেল API একীভূত করা এবং সম্প্রদায়-রক্ষণাবেক্ষণ করা মডেলগুলি ব্যবহার করা সহজ করে তোলে।
- কোডল্যাব: ক্লাউড রানে জেমিনি চালিত চ্যাট অ্যাপ কীভাবে স্থাপন করবেন
- ক্লাউড রানের সাথে জেমিনি ফাংশন কলিং কীভাবে ব্যবহার করবেন
- ক্লাউড রান জবস ভিডিও ইন্টেলিজেন্স API কীভাবে একটি ভিডিও দৃশ্য-দ্বারা-দৃশ্য প্রক্রিয়া করতে ব্যবহার করবেন
- অন-ডিমান্ড ওয়ার্কশপ: গুগল কুবারনেটস ইঞ্জিন অনবোর্ড