PaLM Vertex AI API এবং Google ক্লাউড স্টোরেজ ব্যবহার করে বিষয়বস্তুর সারসংক্ষেপের জন্য ক্লাউড ফাংশন

1. ভূমিকা

এই কোডল্যাবে, আপনি পাইথনে ক্লাউড ফাংশন হিসাবে টেক্সট জেনারেশন ( টেক্সট-বাইসন ) এর জন্য Vertex AI Large Language Model ব্যবহার করে Google Cloud Storage-এ আপলোড করা বিষয়বস্তুর সারসংক্ষেপ সম্পাদন করার পদক্ষেপগুলি খুঁজে পেতে পারেন। ব্যবহৃত পরিষেবার তালিকা হল:

  • Vertex AI PaLM API: একটি বড় ভাষা মডেল (LLM) API যা Google AI এর PaLM Text Bison মডেলে অ্যাক্সেস প্রদান করে।
  • ক্লাউড ফাংশন: সার্ভার পরিচালনা না করেই ফাংশন চালানোর জন্য একটি সার্ভারহীন প্ল্যাটফর্ম।
  • ক্লাউড স্টোরেজ: অসংগঠিত ডেটা সংরক্ষণের জন্য একটি পরিচালিত পরিষেবা।
  • ক্লাউড লগিং: একটি সম্পূর্ণরূপে পরিচালিত পরিষেবা যা আপনাকে লগিং ডেটা সংরক্ষণ, অনুসন্ধান, বিশ্লেষণ, নিরীক্ষণ এবং সতর্ক করতে দেয়।

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

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

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

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

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

51622c00acec2fa.png

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

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

export REGION=us-central1

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 API এমন কাজের জন্য আদর্শ যা একটি API প্রতিক্রিয়া দিয়ে সম্পূর্ণ করা যেতে পারে, ক্রমাগত কথোপকথনের প্রয়োজন ছাড়াই। এর জন্য এখন ক্লাউড ফাংশন তৈরি করা যাক।

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

git clone https://github.com/rominirani/genai-apptemplates-googlecloud

cd genai-apptemplates-googlecloud/summarization-gcs-cloudfunction

এই প্রজেক্টে আমরা এখানে যে ফোল্ডারটি যত্ন করি তা হল: summarization-gcs-cloudfunction।

টার্মিনাল থেকে ক্লাউড শেল এডিটর খুলুন এবং আপনার ক্লাউড শেল মেশিনে গিথুব থেকে ক্লোন করা প্রকল্প ফোল্ডারের বিষয়বস্তু পরীক্ষা করুন।

এই ফোল্ডারে 2টি ফাইল রয়েছে:

  1. main.py পাইথন ফাইল একটি সাধারণ HTTP ক্লাউড ফাংশন সংজ্ঞায়িত করে যা পাঠ্য ইনপুটগুলির সংক্ষিপ্ত সারাংশ তৈরি করতে একটি Vertex AI টেক্সট জেনারেশন মডেল ব্যবহার করে। ফাংশনটি একটি প্যারামিটার হিসাবে একটি পাঠ্য ইনপুট নেয় এবং ইনপুটের একটি সংক্ষিপ্ত সারাংশ প্রদান করে। ফাংশনটি প্রজন্মের প্রক্রিয়া নিয়ন্ত্রণ করতে বিভিন্ন পরামিতি ব্যবহার করে, যেমন সৃজনশীলতা, বৈচিত্র্য এবং উৎপন্ন পাঠ্যের সাবলীলতা। HTTP ক্লাউড ফাংশন একটি অনুরোধ অবজেক্ট গ্রহণ করে এবং প্রতিক্রিয়া হিসাবে মডেলের সারাংশ প্রদান করে।
  2. requirements.txt ফাইলের প্যাকেজ নির্ভরতা রয়েছে:
  • ফাংশন-ফ্রেমওয়ার্ক==3। : নিশ্চিত করে যে ফাংশনটি ফাংশন ফ্রেমওয়ার্কের সর্বশেষ বৈশিষ্ট্য এবং বাগ ফিক্স ব্যবহার করে।
  • google-cloud-aplatform : Vertex AI টেক্সট জেনারেশন মডেল ব্যবহার করতে হবে।
  • google-cloud-storage: Google Cloud Storage-এ স্টোরেজ বালতি তৈরি করার জন্য প্রয়োজন।
  • গুগল-ক্লাউড-লগিং : লগ তৈরি করতে প্রয়োজন।

5. ফাংশন স্থাপন করুন

  1. দুটি ক্লাউড স্টোরেজ বালতি তৈরি করুন:
  • প্রথম বালতি: $BUCKET_NAME বালতিটি সারসংক্ষেপ ফাইল আপলোড করতে ব্যবহার করা হবে৷ আপনার বালতির নামটি নিম্নরূপ সংরক্ষণ করতে পরিবেশ পরিবর্তনশীল তৈরি করুন:
export BUCKET_NAME='Your Bucket Name'
  • দ্বিতীয় বালতি: $BUCKET_NAME-সারাংশ বালতি সংক্ষিপ্ত ফাইল সংরক্ষণ করতে ব্যবহার করা হবে।
  • আমরা বালতি তৈরি করতে gsutil কমান্ড ব্যবহার করব:
  • gsutil হল একটি পাইথন অ্যাপ্লিকেশন যা আপনাকে কমান্ড লাইন থেকে ক্লাউড স্টোরেজ অ্যাক্সেস করতে দেয়। আপনি বালতি এবং অবজেক্ট ম্যানেজমেন্টের বিস্তৃত কাজ করতে gsutil ব্যবহার করতে পারেন।
  • mb মানে "মেক বাকেট"
gsutil mb -l $REGION gs://"$BUCKET_NAME"

gsutil mb -l $REGION gs://"$BUCKET_NAME"-summaries
  1. এই মুহুর্তে, আমরা ফাংশন স্থাপন করতে প্রস্তুত। কিন্তু তার আগে, নিশ্চিত করুন যে ক্লাউড স্টোরেজ বাকেটের পরিষেবা অ্যাকাউন্টে পাব/সাব পাবলিশারের ভূমিকা রয়েছে।
  2. Google ক্লাউড স্টোরেজ এ যান এবং বাম ফলকে, "সেটিংস" এ ক্লিক করুন।

8ce34eb05153abf2.png

  1. সেটিংস থেকে "পরিষেবা অ্যাকাউন্ট" অনুলিপি করুন এবং এটি নোট করুন।
  2. Google ক্লাউড কনসোল নেভিগেশন মেনু থেকে IAM এবং অ্যাডমিন খুলুন।

c5a7103e90689684.png

  1. অনুমতি ট্যাবে, GRANT ACCESS-এ ক্লিক করুন এবং নতুন প্রিন্সিপাল বিভাগে আপনার উল্লেখ করা পরিষেবা অ্যাকাউন্ট আইডি লিখুন এবং "Pub/Sub Publisher" হিসাবে ভূমিকা নির্বাচন করুন এবং সংরক্ষণ করুন ক্লিক করুন৷

11c2df774fa740a9.png

  1. এই উত্সটি ক্লাউড ফাংশনে স্থাপন করুন। ক্লাউড শেল টার্মিনাল থেকে নিম্নলিখিত কমান্ডটি চালান:
  2. আপনি এই প্রকল্পের সারাংশ-gcs-cloudfunction ফোল্ডারে আছেন তা নিশ্চিত করুন।
  3. নিম্নলিখিত কমান্ডটি চালান:
gcloud functions deploy summarizeArticles \
--gen2 \
--runtime=python311 \
--source=. \
--region=$REGION \
--project=$PROJECT_ID \
--entry-point=summarize_gcs_object \
--trigger-bucket=$BUCKET_NAME \
--set-env-vars=GCP_PROJECT=$PROJECT_ID,GCP_REGION=$REGION \
--max-instances=1 \
--quiet
  1. Google ক্লাউড কনসোলে, ক্লাউড ফাংশনে যান ::

এটি ভার্টেক্স-এআই-ফাংশন ক্লাউড ফাংশনকে তালিকাভুক্ত করবে যা আমরা এর সর্বজনীন URL দিয়ে তৈরি করেছি। আমরা একটি GCS ট্রিগার তৈরি করতে এই ফাংশনটি ব্যবহার করব।

6. ফাংশন আহ্বান করুন

যখন একটি ফাইল $BUCKET_NAME বালতিতে আপলোড করা হয়*, তখন GCS ট্রিগার ফাংশনটি চালু করে। $BUCKET_NAME"-summaries বাকেট একই নামের সংক্ষিপ্ত ফাইল অন্তর্ভুক্ত করে।

আপনি শুরু করার আগে, summarization-gcs-cloudfunction ফোল্ডার থেকে নমুনা story.md ফাইলটি আপনার স্থানীয় মেশিনে সংরক্ষণ করুন।

  1. Google ক্লাউড কনসোলে, ক্লাউড স্টোরেজ-এ যান।
  2. বালতির তালিকা থেকে আপনার $BUCKET_NAME বালতি খুলুন।
  3. আপলোড ফাইলে ক্লিক করুন এবং story.md ফাইলটি নির্বাচন করুন।

summarizeArticles ফাংশনটি ট্রিগার করা হয়েছে এবং এটি ফাইলের বিষয়বস্তুর সংক্ষিপ্তকরণ শুরু করে।

  1. বাম নেভিগেশন ফলকে, Buckets-এ ক্লিক করুন।
  2. আপনার $BUCKET_NAME"-summaries বালতি খুলুন।

story.md ফাইলটিতে ফাইলের বিষয়বস্তুর একটি সারাংশ রয়েছে।

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

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

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

8. অভিনন্দন

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