Vertex AI এবং Svelte Kit সহ Text Summarizer অ্যাপ

1। পরিচিতি

এই কোডল্যাবে, আমি একটি ওয়েব অ্যাপ তৈরি করার পদক্ষেপগুলি তালিকাভুক্ত করেছি যা আপনাকে একটি Svelte কিট ফ্রেমওয়ার্কে পাঠ্য প্রজন্মের ( টেক্সট-বাইসন ) API এর জন্য Vertex AI Large Language Model ব্যবহার করে পাঠ্য সংক্ষিপ্তকরণ করতে দেয়। ব্যবহৃত পরিষেবা এবং প্রযুক্তিগত স্ট্যাকের তালিকা হল:

  1. Svelte কিট: একটি ওয়েব অ্যাপ্লিকেশন ফ্রেমওয়ার্ক যা Svelte এর উপর তৈরি করে।
  2. Vertex AI PaLM 2 API: একটি বড় ভাষা মডেল (LLM) API যা Google AI এর PaLM 2 মডেলে অ্যাক্সেস প্রদান করে।
  3. ক্লাউড ফাংশন: সার্ভার পরিচালনা না করেই ফাংশন চালানোর জন্য একটি সার্ভারহীন প্ল্যাটফর্ম।
  4. ক্লাউড রান: কনটেইনারাইজড অ্যাপ্লিকেশন চালানোর জন্য একটি সার্ভারহীন প্ল্যাটফর্ম।

আপনি কি নির্মাণ করবেন

আপনি তৈরি করবেন

  • একটি পাইথন ক্লাউড ফাংশন পাম এপিআই আহ্বান করতে ব্যবহৃত হয়
  • ক্লাউড ফাংশনের মাধ্যমে Vertex AI API-এর সাথে ইন্টারফেসের জন্য ব্যবহারকারী ইন্টারফেসের জন্য একটি Svelte ওয়েব অ্যাপ্লিকেশন
  • উপরে তৈরি করা অ্যাপটিকে সার্ভারহীনভাবে স্থাপন করতে একটি ক্লাউড রান পরিষেবা

2. প্রয়োজনীয়তা

3. আপনি শুরু করার আগে

  1. Google ক্লাউড কনসোলে , প্রকল্প নির্বাচক পৃষ্ঠায়, একটি Google ক্লাউড প্রকল্প নির্বাচন করুন বা তৈরি করুন৷
  2. নিশ্চিত করুন যে আপনার ক্লাউড প্রকল্পের জন্য বিলিং সক্ষম করা আছে৷ একটি প্রকল্পে বিলিং সক্ষম কিনা তা পরীক্ষা করতে শিখুন
  3. আপনি Google ক্লাউড পরিষেবাগুলির সাথে ইন্টারঅ্যাক্ট করতে Google ক্লাউডে চলমান একটি কমান্ড-লাইন পরিবেশ, ক্লাউড শেল ব্যবহার করবেন৷ জিক্লাউড কমান্ড এবং ব্যবহারের জন্য ডকুমেন্টেশন পড়ুন। ক্লাউড কনসোল থেকে, উপরের ডানদিকে কোণায় ক্লাউড শেল সক্রিয় করুন ক্লিক করুন:

51622c00acec2fa.png

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

gcloud config set project <YOUR_PROJECT_ID>
  1. ক্লাউড শেল টার্মিনাল থেকে নিম্নলিখিত কমান্ডটি চালিয়ে সমস্ত প্রয়োজনীয় API সক্রিয় করা হয়েছে তা নিশ্চিত করুন:
gcloud services enable cloudbuild.googleapis.com \
run.googleapis.com \
cloudfunctions.googleapis.com \
aiplatform.googleapis.com
  1. ক্লাউড শেল টার্মিনাল থেকে নিম্নলিখিত কমান্ডটি চালিয়ে REGION এবং PROJECT_ID-এর জন্য পরিবেশ ভেরিয়েবল তৈরি করুন:
export PROJECT_ID=<your project id>

export REGION=asia-south1

4. ক্লাউড ফাংশন ভার্টেক্স এআই এপিআই চালু করতে

আমরা একটি পাইথন ক্লাউড ফাংশন তৈরি করব এবং এই ফাংশনে ভার্টেক্স এআই এপিআই চালু করব।

একটি নতুন পরিষেবা অ্যাকাউন্ট তৈরি করা হচ্ছে

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

gcloud iam service-accounts create vertex-service-acc

আপনার প্রকল্প এবং আপনার সংস্থানগুলিতে অ্যাক্সেস প্রদান করতে, পরিষেবা অ্যাকাউন্টে একটি ভূমিকা মঞ্জুর করুন৷

gcloud projects add-iam-policy-binding ${PROJECT_ID} --member="serviceAccount:vertex-service-acc@${PROJECT_ID}.iam.gserviceaccount.com" --role=roles/ml.developer

আপনার Google অ্যাকাউন্টকে একটি ভূমিকা প্রদান করতে যা আপনাকে পরিষেবা অ্যাকাউন্টের ভূমিকাগুলি ব্যবহার করতে এবং পরিষেবা অ্যাকাউন্টটিকে অন্যান্য সংস্থানগুলির সাথে সংযুক্ত করতে দেয়৷ আপনার Google অ্যাকাউন্ট ইমেল আইডি দিয়ে USER_EMAIL প্রতিস্থাপন করুন।

gcloud iam service-accounts add-iam-policy-binding vertex-service-acc@${PROJECT_ID}.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser

পাইথন ফাংশন তৈরি করা

পাঠ্যের জন্য PaLM 2 এমন কাজের জন্য আদর্শ যা একটি এপিআই প্রতিক্রিয়া দিয়ে সম্পূর্ণ করা যেতে পারে, ক্রমাগত কথোপকথনের প্রয়োজন ছাড়াই। এর জন্য এখন ক্লাউড ফাংশন তৈরি করা যাক।

ক্লাউড শেল ব্যবহার করে একটি নতুন ডিরেক্টরি তৈরি করুন এবং এটিতে নেভিগেট করুন। (পূর্ববর্তী বিভাগে খোলা একই টার্মিনাল ব্যবহার করুন):

mkdir vertex-ai-functions

cd vertex-ai-functions

পাইথন ক্লাউড ফাংশন লেখার জন্য একটি main.py ফাইল এবং নির্ভরতা সংরক্ষণের জন্য requirements.txt ফাইল তৈরি করুন।

touch main.py requirements.txt

এই পাইথন ফাইলটি একটি সাধারণ HTTP ক্লাউড ফাংশন সংজ্ঞায়িত করে যা পাঠ্য ইনপুটগুলির সংক্ষিপ্ত সারাংশ তৈরি করতে একটি Vertex AI টেক্সট জেনারেশন মডেল ব্যবহার করে। ফাংশনটি একটি প্যারামিটার হিসাবে একটি পাঠ্য ইনপুট নেয় এবং ইনপুটের একটি সংক্ষিপ্ত সারাংশ প্রদান করে। ফাংশনটি প্রজন্মের প্রক্রিয়া নিয়ন্ত্রণ করতে বিভিন্ন পরামিতি ব্যবহার করে, যেমন সৃজনশীলতা, বৈচিত্র্য এবং উৎপন্ন পাঠ্যের সাবলীলতা। HTTP ক্লাউড ফাংশন একটি অনুরোধ অবজেক্ট গ্রহণ করে এবং প্রতিক্রিয়া হিসাবে মডেলের সারাংশ প্রদান করে।

গুগল ক্লাউড এডিটর খুলুন। আপনি একটি নতুন Google ক্লাউড কনসোল ট্যাব খুলে এবং ACTIVATE Cloud SHELL বোতামে ক্লিক করে এটি খুলতে পারেন এবং যখন টার্মিনাল লোড হয়, নীচের ছবিতে দেখানো হিসাবে দ্রুত OPEN EDITOR বোতামে ক্লিক করুন:

8e501bd2c41d11b8.png

একবার সম্পাদকটি খোলে, আপনি main.py ফাইলটি দেখতে সক্ষম হবেন। এই সংগ্রহস্থল লিঙ্ক থেকে কোড দিয়ে এর বিষয়বস্তু প্রতিস্থাপন করুন। কোডের ব্যাখ্যা কোড মন্তব্য হিসেবে অন্তর্ভুক্ত করা হয়েছে। সংক্ষেপে, এই কোডটি Vertex AI ব্যবহার করে টেক্সট ইনপুটগুলির সংক্ষিপ্ত সারাংশ তৈরি করার একটি সংক্ষিপ্ত উপায় প্রদান করে।

requirements.txt ফাইলের প্যাকেজ নির্ভরতা রয়েছে: functions-framework==3.*: নিশ্চিত করে যে ফাংশনটি ফাংশন ফ্রেমওয়ার্কের সর্বশেষ বৈশিষ্ট্য এবং বাগ ফিক্স ব্যবহার করে। google-cloud-aplatform: Vertex AI টেক্সট জেনারেশন মডেল ব্যবহার করতে হবে।

Requiments.txt ফাইলে এটি যোগ করুন:

functions-framework==3.*
google-cloud-aiplatform

ক্লাউড ফাংশনে স্থাপন করুন

এখন এই উত্সটি ক্লাউড ফাংশনে স্থাপন করা যাক। ক্লাউড শেল টার্মিনাল থেকে নিম্নলিখিত কমান্ডটি চালান:

gcloud functions deploy vertex-ai-function \
--gen2 \
--runtime=python311 \
--region=${REGION} \
--source=. \
--entry-point=hello_vertex \
--trigger-http \
--allow-unauthenticated \
--max-instances=30

অনুসন্ধান বার ব্যবহার করুন এবং ক্লাউড ফাংশন কনসোলে যান:

43a6b247098a9edb.png

এটি vertex-ai-function ক্লাউড ফাংশনটি তালিকাভুক্ত করবে যা আমরা এইমাত্র তার সর্বজনীন URL দিয়ে তৈরি করেছি ফাংশন পৃষ্ঠায় দেওয়া হবে। আমরা আমাদের ফ্রন্টেন্ড এবং ভার্টেক্স এআই এপিআই সংযোগ করতে এটি ব্যবহার করি। এই URL সংরক্ষণ করুন. অপ্রমাণিত অ্যাক্সেসের জন্য আপনাকে অন্তর্নিহিত ক্লাউড রান পরিষেবাকেও অনুমতি দিতে হতে পারে। নিরাপত্তার উদ্দেশ্যে প্রমাণীকৃত পরিষেবা ব্যবহার করার পরামর্শ দেওয়া হয়।

5. ফ্রন্ট-এন্ড তৈরি করুন এবং স্থাপন করুন

Google ক্লাউড ফাংশনের মাধ্যমে আমাদের Vertex AI API-এর সাথে ইন্টারঅ্যাক্ট করার জন্য এই অ্যাপটি একটি ফ্রন্টএন্ড ইন্টারফেসের সাথে আসে। এখন এটি তৈরি করা যাক.

ক্লোন রিপোজিটরি এবং সেটআপ ডকারফাইল

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

cd ~/

git clone https://github.com/bhaaratkrishnan/vertex-summarizer-svelte.git

cd  vertex-summarizer-svelte

এই অ্যাপ্লিকেশনটি চালানোর জন্য, আপনাকে ডকারফাইলে PUBLIC_FUNCTION_URL পরিবেশ পরিবর্তনশীল যোগ করতে হবে। এই URL হল ক্লাউড ফাংশন URL তৈরি করা এবং পূর্ববর্তী বিভাগে সংরক্ষণ করা হয়েছে৷

ক্লাউড এডিটর খুলুন এবং ডকারফাইল ফাইলের বিষয়বস্তু সম্পাদনা করুন। আপনার ক্লাউড ফাংশন URL দিয়ে PUBLIC_FUNCTION_URL ভেরিয়েবল প্রতিস্থাপন করুন।

2958bb12343368a9.png

ক্লাউড রানে ফ্রন্টেন্ড স্থাপন করুন

আমরা আমাদের ডকার চিত্রগুলি তৈরি এবং সংরক্ষণ করতে Google আর্টিফ্যাক্ট রেজিস্ট্রি ব্যবহার করব। ক্লাউড রান সার্ভারহীন আর্কিটেকচারে কন্টেইনার স্থাপন করতে ব্যবহৃত হয়।

ক্লাউড শেল টার্মিনালে নীচের কমান্ডটি চালিয়ে একটি আর্টিফ্যাক্ট রেজিস্ট্রি সংগ্রহস্থল তৈরি করুন:

gcloud artifacts repositories create vertex-repo --repository-format=docker --location=${REGION}

আর্টিফ্যাক্ট রেজিস্ট্রি রিপোজিটরি URL-এর জন্য একটি পরিবেশ পরিবর্তনশীল তৈরি করুন।

export DOCKER_URL=${REGION}-docker.pkg.dev/${PROJECT_ID}/vertex-repo/vertex-summarizer-image

ডকার কন্টেইনার তৈরি করুন এবং আর্টিফ্যাক্ট রেজিস্ট্রি রিপোজিটরি অবস্থানের সাথে ট্যাগ করুন। একটি সংগ্রহস্থলের নামের সাথে ডকার ইমেজ ট্যাগ করা ডকার পুশ কমান্ডকে কনফিগার করে ইমেজটিকে একটি নির্দিষ্ট স্থানে পুশ করতে।

docker build . -t ${DOCKER_URL}

চিত্রটিকে আর্টিফ্যাক্ট রেজিস্ট্রিতে পুশ করুন।

docker push ${DOCKER_URL}

ক্লাউড রানে ডকার কন্টেইনার স্থাপন করুন।

gcloud run deploy vertex-summarizer --allow-unauthenticated --platform=managed --region=${REGION} --image=${DOCKER_URL}

ইয়া!! Vertex Summarizer আপ এবং চলমান. URLটি ক্লাউড শেল-এ দেখানো হবে, তাই Vertex AI🤖 এক্সপ্লোর করুন এবং উপভোগ করুন।

cd94442961bb5308.gif

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

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

  1. Google ক্লাউড কনসোলে, সম্পদ পরিচালনা পৃষ্ঠাতে যান
  2. প্রকল্প তালিকায়, আপনি যে প্রকল্পটি মুছতে চান সেটি নির্বাচন করুন এবং তারপরে মুছুন ক্লিক করুন
  3. ডায়ালগে, প্রজেক্ট আইডি টাইপ করুন এবং তারপরে প্রোজেক্ট মুছে ফেলতে শাট ডাউন ক্লিক করুন
  4. আপনি যদি প্রকল্পটি রাখতে চান এবং কেবল ক্লাউড রান পরিষেবাটি মুছতে চান তবে এখানে পদক্ষেপটি অনুসরণ করুন৷
  5. আপনি যদি কেবল ক্লাউড ফাংশন মুছতে চান বা অ্যাক্সেস প্রত্যাহার করতে চান তবে আপনি এখান থেকে তা করতে পারেন

7. অভিনন্দন

অভিনন্দন! আপনি সফলভাবে একটি Vertex AI PaLM2 API ব্যবহার করেছেন প্রোগ্রাম্যাটিকভাবে পাঠ্য সংক্ষিপ্তকরণ সম্পাদন করতে, একটি Svelte ওয়েব অ্যাপ তৈরি করতে এবং ক্লাউড ফাংশনে স্থাপন করতে। উপলব্ধ মডেল সম্পর্কে আরও জানতে Vertex AI LLM পণ্যের ডকুমেন্টেশন দেখুন।