এআই এজেন্টদের জন্য অ্যালয়ডিবি-র গুগল ক্লাউড এমসিপি

১. ভূমিকা

23518f986c1cab33.jpeg

এই কোডল্যাবটি অ্যালয়ডিবি-র জন্য গুগল ক্লাউড এমসিপি সার্ভার দিয়ে কীভাবে কাজ শুরু করতে হয়, এটিকে একটি এআই এজেন্টের টুলসেটের অংশ হিসেবে সক্রিয় করতে হয় এবং অ্যাপ্লিকেশনের অংশ হিসেবে ব্যবহার করতে হয়, তার একটি নির্দেশিকা প্রদান করে।

পূর্বশর্ত

  • গুগল ক্লাউড, কনসোল সম্পর্কে প্রাথমিক ধারণা
  • কমান্ড লাইন ইন্টারফেস এবং ক্লাউড শেলে প্রাথমিক দক্ষতা

আপনি যা শিখবেন

  • কীভাবে একটি AlloyDB ক্লাস্টার তৈরি করবেন এবং নমুনা ডেটা ইম্পোর্ট করবেন
  • AlloyDB ডেটা অ্যাক্সেস API কীভাবে সক্রিয় করবেন
  • AlloyDB NL-এর জন্য Google Cloud MCP কীভাবে সক্রিয় করবেন
  • আপনার ADK এজেন্টে কীভাবে Google Cloud MCP for AlloyDB যোগ করবেন
  • একটি অ্যাপ্লিকেশনে AlloyDB-এর জন্য Google Cloud MCP কীভাবে ব্যবহার করবেন
  • অ্যানালিটিক্সের জন্য AlloyDBMCP-এর সাথে এজেন্ট কীভাবে ব্যবহার করবেন

আপনার যা যা লাগবে

  • একটি গুগল ক্লাউড অ্যাকাউন্ট এবং গুগল ক্লাউড প্রজেক্ট
  • ক্রোমের মতো একটি ওয়েব ব্রাউজার যা গুগল ক্লাউড কনসোল এবং ক্লাউড শেল সমর্থন করে।

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

প্রজেক্ট সেটআপ

  1. Google Cloud Console- এ সাইন-ইন করুন। যদি আপনার আগে থেকে Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তবে আপনাকে একটি তৈরি করতে হবে।

কর্মক্ষেত্র বা শিক্ষা প্রতিষ্ঠানের অ্যাকাউন্টের পরিবর্তে ব্যক্তিগত অ্যাকাউন্ট ব্যবহার করুন।

  1. একটি নতুন প্রজেক্ট তৈরি করুন অথবা বিদ্যমান কোনো প্রজেক্ট পুনরায় ব্যবহার করুন। গুগল ক্লাউড কনসোলে একটি নতুন প্রজেক্ট তৈরি করতে, হেডারে থাকা 'Select a project' বোতামটিতে ক্লিক করুন, যা একটি পপ-আপ উইন্ডো খুলবে।

295004821bab6a87.png

'Select a project' উইন্ডোতে 'New Project' বোতামটি চাপুন, যা নতুন প্রজেক্টের জন্য একটি ডায়ালগ বক্স খুলবে।

37d264871000675d.png

ডায়ালগ বক্সে আপনার পছন্দের প্রজেক্টের নাম দিন এবং অবস্থান নির্বাচন করুন।

96d86d3d5655cdbe.png

  • প্রজেক্টের নামটি এই প্রকল্পের অংশগ্রহণকারীদের জন্য প্রদর্শিত নাম। প্রজেক্টের নামটি গুগল এপিআই দ্বারা ব্যবহৃত হয় না এবং এটি যেকোনো সময় পরিবর্তন করা যেতে পারে।
  • প্রজেক্ট আইডি সমস্ত গুগল ক্লাউড প্রজেক্ট জুড়ে অনন্য এবং অপরিবর্তনীয় (একবার সেট করার পর এটি পরিবর্তন করা যায় না)। গুগল ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য আইডি তৈরি করে, কিন্তু আপনি এটি কাস্টমাইজ করতে পারেন। তৈরি করা আইডিটি আপনার পছন্দ না হলে, আপনি এলোমেলোভাবে আরেকটি তৈরি করতে পারেন অথবা সেটির প্রাপ্যতা যাচাই করার জন্য আপনার নিজের আইডি দিতে পারেন। বেশিরভাগ কোডল্যাবে, আপনাকে আপনার প্রজেক্ট আইডি উল্লেখ করতে হবে, যা সাধারণত PROJECT_ID নামক প্লেসহোল্ডার দ্বারা চিহ্নিত করা হয়।
  • আপনার অবগতির জন্য জানাচ্ছি যে, তৃতীয় একটি ভ্যালু রয়েছে, যা হলো প্রজেক্ট নম্বর , এবং কিছু এপিআই এটি ব্যবহার করে থাকে। ডকুমেন্টেশনে এই তিনটি ভ্যালু সম্পর্কে আরও বিস্তারিত জানুন।

বিলিং সক্ষম করুন

একটি ব্যক্তিগত বিলিং অ্যাকাউন্ট তৈরি করুন

আপনি যদি গুগল ক্লাউড ক্রেডিট ব্যবহার করে বিলিং সেট আপ করেন, তাহলে এই ধাপটি এড়িয়ে যেতে পারেন।

একটি ব্যক্তিগত বিলিং অ্যাকাউন্ট তৈরি করতে, ক্লাউড কনসোলে বিলিং চালু করার জন্য এখানে যান

কিছু নোট:

  • এই ল্যাবটি সম্পন্ন করতে ক্লাউড রিসোর্সে ৩ মার্কিন ডলারের কম খরচ হওয়া উচিত।
  • পরবর্তী চার্জ এড়াতে, এই ল্যাবের শেষে দেওয়া ধাপগুলো অনুসরণ করে আপনি রিসোর্সগুলো মুছে ফেলতে পারেন।
  • নতুন ব্যবহারকারীরা ৩০০ মার্কিন ডলারের ফ্রি ট্রায়ালের জন্য যোগ্য।

ক্লাউড শেল শুরু করুন

যদিও গুগল ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালনা করা যায়, এই কোডল্যাবে আপনি গুগল ক্লাউড শেল ব্যবহার করবেন, যা ক্লাউডে চালিত একটি কমান্ড লাইন পরিবেশ।

গুগল ক্লাউড কনসোল থেকে, উপরের ডানদিকের টুলবারে থাকা ক্লাউড শেল আইকনটিতে ক্লিক করুন:

ক্লাউড শেল সক্রিয় করুন

বিকল্পভাবে আপনি প্রথমে G এবং তারপর S চাপতে পারেন। আপনি যদি গুগল ক্লাউড কনসোলের মধ্যে থাকেন, তাহলে এই ক্রমটি ক্লাউড শেল সক্রিয় করবে অথবা এই লিঙ্কটি ব্যবহার করুন।

পরিবেশটি প্রস্তুত করতে এবং এর সাথে সংযোগ স্থাপন করতে মাত্র কয়েক মুহূর্ত সময় লাগবে। এটি শেষ হলে, আপনি এইরকম কিছু দেখতে পাবেন:

গুগল ক্লাউড শেল টার্মিনালের স্ক্রিনশট, যা দেখাচ্ছে যে পরিবেশটি সংযুক্ত হয়েছে।

এই ভার্চুয়াল মেশিনটিতে আপনার প্রয়োজনীয় সমস্ত ডেভেলপমেন্ট টুলস লোড করা আছে। এটি একটি স্থায়ী ৫ জিবি হোম ডিরেক্টরি প্রদান করে এবং গুগল ক্লাউডে চলে, যা নেটওয়ার্ক পারফরম্যান্স ও অথেনটিকেশনকে ব্যাপকভাবে উন্নত করে। এই কোডল্যাবে আপনার সমস্ত কাজ একটি ব্রাউজারের মধ্যেই করা যাবে। আপনাকে কিছুই ইনস্টল করতে হবে না।

৩. শুরু করার আগে

এপিআই সক্ষম করুন

AlloyDB , Compute Engine , Networking services , এবং Vertex AI ব্যবহার করার জন্য, আপনাকে আপনার Google Cloud প্রজেক্টে এগুলোর নিজ নিজ API সক্রিয় করতে হবে।

ক্লাউড শেল টার্মিনালের ভিতরে, নিশ্চিত করুন যে আপনার প্রজেক্ট আইডি সেটআপ করা আছে:

gcloud config get-value project

এটি আপনার গুগল প্রজেক্ট আইডি ফেরত দেবে।

PROJECT_ID এনভায়রনমেন্ট ভেরিয়েবল সেট করুন:

PROJECT_ID=$(gcloud config get-value project)

সকল প্রয়োজনীয় পরিষেবা সক্রিয় করুন:

gcloud services enable alloydb.googleapis.com \
                       compute.googleapis.com \
                       cloudresourcemanager.googleapis.com \
                       servicenetworking.googleapis.com \
                       aiplatform.googleapis.com \
                       discoveryengine.googleapis.com

প্রত্যাশিত আউটপুট

student@cloudshell:~ (test-project-001-402417)$ gcloud config set project test-project-001-402417
Updated property [core/project].
student@cloudshell:~ (test-project-001-402417)$ PROJECT_ID=$(gcloud config get-value project)
Your active configuration is: [cloudshell-14650]
student@cloudshell:~ (test-project-001-402417)$ 
student@cloudshell:~ (test-project-001-402417)$ gcloud services enable alloydb.googleapis.com \
                       compute.googleapis.com \
                       cloudresourcemanager.googleapis.com \
                       servicenetworking.googleapis.com \
                       aiplatform.googleapis.com \
                       discoveryengine.googleapis.com
Operation "operations/acat.p2-4470404856-1f44ebd8-894e-4356-bea7-b84165a57442" finished successfully.

৪. AlloyDB স্থাপন করুন

AlloyDB ক্লাস্টার এবং প্রাইমারি ইনস্ট্যান্স তৈরি করুন। আপনি হয় একটি প্রস্তুত স্ক্রিপ্ট ব্যবহার করে এটি স্থাপন করতে পারেন, যা সমস্ত প্রয়োজনীয় রিসোর্স স্থাপন করবে, অথবা ডকুমেন্টেশন অনুসরণ করে ধাপে ধাপে নিজেই এটি করতে পারেন।

স্বয়ংক্রিয় স্ক্রিপ্ট ব্যবহার করে AlloyDB স্থাপন করুন

এই পদ্ধতিতে একটি স্বয়ংক্রিয় স্ক্রিপ্ট ব্যবহার করে AlloyDB ক্লাস্টার স্থাপন করা হয় এবং স্থাপিত রিসোর্সগুলোর সাথে কাজ শুরু করার জন্য প্রয়োজনীয় তথ্য সরবরাহ করা হয়।

ক্লাউড শেল টার্মিনালে রিপোজিটরি থেকে ডিপ্লয়মেন্ট স্ক্রিপ্টটি ক্লোন করার জন্য কমান্ডটি চালান।

REPO_NAME="codelabs"
REPO_URL="https://github.com/GoogleCloudPlatform/$REPO_NAME"
SOURCE_DIR="alloydb-ai-mcp"

git clone --no-checkout --filter=blob:none --depth=1 $REPO_URL

cd $REPO_NAME
git sparse-checkout set $SOURCE_DIR
git checkout
cd $SOURCE_DIR

ডিপ্লয়মেন্ট স্ক্রিপ্টটি চালান।

./deploy_alloydb.sh

স্ক্রিপ্টটি চলতে কিছুটা সময় নেবে - সাধারণত প্রায় ৫-৭ মিনিট। এরপর আউটপুট হিসেবে এটি আপনার ডেপ্লয় করা AlloyDB ক্লাস্টার সম্পর্কে তথ্য দেবে। অনুগ্রহ করে মনে রাখবেন, আপনার পাসওয়ার্ডটি ভিন্ন হবে - ভবিষ্যতের ব্যবহারের জন্য পাসওয়ার্ডটি কোথাও লিখে রাখুন

...
<redacted>
...
Creating primary instance: alloydb-aip-01-pr (8 vCPUs for TRIAL cluster)
Operation ID: operation-1765988049916-646282264938a-bddce198-9f248715
Creating instance...done.                                                                                                                                                                                                             
----------------------------------------
Deployment Process Completed
Cluster:  alloydb-aip-01 (TRIAL)
Instance: alloydb-aip-01-pr
Region:   us-central1
Initial Password: JBBoDTgixzYwYpkF (if new cluster)
----------------------------------------
 

এবং আপনি ওয়েব কনসোলে নতুন ক্লাস্টার এবং প্রাইমারি ইনস্ট্যান্সটিও দেখতে পারেন।

4271eb55bcc9ec84.png

৫. ডাটাবেস প্রস্তুত করুন

এআই ফাংশন ও অপারেটর ব্যবহার করার জন্য আপনাকে ভার্টেক্স এআই ইন্টিগ্রেশন চালু করতে হবে, ডেটা অ্যাক্সেস এপিআই সক্রিয় করতে হবে এবং নমুনা ডেটাসেটের জন্য একটি ডেটাবেস তৈরি করতে হবে।

AlloyDB-কে প্রয়োজনীয় অনুমতি প্রদান করুন

AlloyDB সার্ভিস এজেন্টে Vertex AI-এর অনুমতি যোগ করুন।

উপরে থাকা "+" চিহ্নটি ব্যবহার করে আরেকটি ক্লাউড শেল ট্যাব খুলুন।

abc505ac4d41f24e.png

নতুন ক্লাউড শেল ট্যাবে নিম্নলিখিতটি চালান:

PROJECT_ID=$(gcloud config get-value project)
gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:service-$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")@gcp-sa-alloydb.iam.gserviceaccount.com" \
  --role="roles/aiplatform.user"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:service-$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")@gcp-sa-alloydb.iam.gserviceaccount.com" \
  --role="roles/discoveryengine.viewer"

প্রত্যাশিত কনসোল আউটপুট:

student@cloudshell:~ (test-project-001-402417)$ PROJECT_ID=$(gcloud config get-value project)
Your active configuration is: [cloudshell-11039]
student@cloudshell:~ (test-project-001-402417)$ gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:service-$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")@gcp-sa-alloydb.iam.gserviceaccount.com" \
  --role="roles/aiplatform.user"
Updated IAM policy for project [test-project-001-402417].
bindings:
- members:
  - serviceAccount:service-4470404856@gcp-sa-alloydb.iam.gserviceaccount.com
  role: roles/aiplatform.user
- members:
... < redacted > 
etag: BwYIEbe_Z3U=
version: 1
 

ডেটা অ্যাক্সেস এপিআই সক্ষম করুন

execute_sql মতো MCP টুলগুলো ব্যবহার করতে হলে আপনাকে AlloyDB ক্লাস্টারে ডেটা অ্যাক্সেস API সক্রিয় করতে হবে।

একই টার্মিনাল ট্যাবে চালান।

PROJECT_ID=$(gcloud config get-value project)
REGION=us-central1
ADBCLUSTER=alloydb-aip-01
curl -X PATCH \
 -H "Authorization: Bearer $(gcloud auth print-access-token)" \
 -H "Content-Type: application/json" \
 https://alloydb.googleapis.com/v1alpha/projects/$PROJECT_ID/locations/$REGION/clusters/$ADBCLUSTER/instances/$ADBCLUSTER-pr?updateMask=dataApiAccess \
 -d '{
   "dataApiAccess": "ENABLED",
 }'

ইনস্ট্যান্স ফ্ল্যাগ আপডেট করুন

AlloyDB-তে উন্নত AI ফাংশন ব্যবহার করার জন্য আমাদের কিছু ডাটাবেস ফ্ল্যাগ সক্রিয় করতে হবে। ডেটা অ্যাক্সেস API সক্রিয় করার পর, পরবর্তী পরিবর্তনের জন্য ইনস্ট্যান্সটি প্রস্তুত হতে কয়েক মিনিট সময় লাগতে পারে। ইনস্ট্যান্সটিতে সবুজ টিক চিহ্ন আছে কিনা তা নিশ্চিত করতে অনুগ্রহ করে কনসোলে এর স্ট্যাটাস দেখুন।

একই টার্মিনাল ট্যাবে চালান।

PROJECT_ID=$(gcloud config get-value project)
REGION=us-central1
ADBCLUSTER=alloydb-aip-01
gcloud beta alloydb instances update $ADBCLUSTER-pr \
   --database-flags=google_ml_integration.enable_model_support=on,google_ml_integration.enable_ai_query_engine=on,google_ml_integration.enable_preview_ai_functions=on \
   --region=$REGION \
   --cluster=$ADBCLUSTER \
   --project=$PROJECT_ID \
   --update-mode=FORCE_APPLY

এমসিপি সক্ষম করুন

পরবর্তী ধাপ হলো আপনার প্রোজেক্টে AlloyDB-এর জন্য Google Cloud MCP সার্ভারটি সক্রিয় করা। ডিফল্টরূপে MCP সক্রিয় থাকে না এবং এটি আপনার ক্লাস্টারের ভেতরের IAM অথেন্টিকেশন ও অথরাইজেশন, ডেটা অ্যাক্সেস API এবং রোল-সহ একাধিক সুরক্ষা স্তরের মধ্যে একটি।

একই টার্মিনাল ট্যাবে চালান।

PROJECT_ID=$(gcloud config get-value project)
gcloud beta services mcp enable alloydb.googleapis.com \
    --project=$PROJECT_ID

ট্যাবের মধ্যে থাকা 'exit' কমান্ডটি চালিয়ে ট্যাবটি বন্ধ করুন:

exit

AlloyDB Studio-এর সাথে সংযোগ করুন

পরবর্তী অধ্যায়গুলোতে ডাটাবেসের সাথে সংযোগের প্রয়োজন হয় এমন সমস্ত SQL কমান্ড AlloyDB Studio-তে চালানো যাবে।

AlloyDB for Postgres-এর ক্লাস্টার পৃষ্ঠায় যান।

প্রাইমারি ইনস্ট্যান্সটিতে ক্লিক করে আপনার AlloyDB ক্লাস্টারের ওয়েব কনসোল ইন্টারফেসটি খুলুন।

1d7298e7096e7313.png

তারপর বাম দিকে AlloyDB Studio-তে ক্লিক করুন:

a33131c72ad29478.png

postgres ডাটাবেস ও postgres ইউজার নির্বাচন করুন এবং ক্লাস্টার তৈরির সময় লিখে রাখা পাসওয়ার্ডটি দিন। এরপর "Authenticate" বাটনে ক্লিক করুন।

যদি পাসওয়ার্ডটি কাজ না করে অথবা আপনি পাসওয়ার্ডটি লিখে রাখতে ভুলে যান, তাহলে আপনি পাসওয়ার্ডটি পরিবর্তন করতে পারেন। কীভাবে তা করতে হয়, তা জানতে ডকুমেন্টেশন দেখুন।

2fcb84f70448118c.png

এটি AlloyDB Studio ইন্টারফেসটি খুলবে। ডাটাবেসে কমান্ডগুলো চালানোর জন্য ডানদিকে থাকা 'Untitled Query' ট্যাবে ক্লিক করুন।

6696bc771fab9983.png

এটি এমন একটি ইন্টারফেস খোলে যেখানে আপনি SQL কমান্ড চালাতে পারেন।

ae34288e5bf237c7.png

ডাটাবেস তৈরি করুন

ডাটাবেস কুইকস্টার্ট তৈরি করুন।

AlloyDB Studio Editor-এ নিম্নলিখিত কমান্ডটি চালান।

ডাটাবেস তৈরি করুন:

CREATE DATABASE quickstart_db

প্রত্যাশিত আউটপুট:

Statement executed successfully

quickstart_db-এর সাথে সংযোগ করুন

আপনার ডাটাবেসটি তৈরি হয়েছে কিনা তা পরীক্ষা করতে এতে সংযোগ করুন। ব্যবহারকারী/ডাটাবেস পরিবর্তন করার বোতামটি ব্যবহার করে স্টুডিওতে পুনরায় সংযোগ করুন।

6f5c98f5d0b3d550.png

ড্রপডাউন তালিকা থেকে নতুন quickstart_db ডাটাবেসটি বেছে নিন এবং আগের মতোই ইউজার ও পাসওয়ার্ড ব্যবহার করুন।

3171ebd8a95f1306.png

এটি একটি নতুন সংযোগ খুলবে যেখানে আপনি quickstart_db ডাটাবেসের অবজেক্টগুলো নিয়ে কাজ করতে পারবেন। সেখানে আপনি আপনার ইম্পোর্ট করা স্কিমা এবং ডেটা পরীক্ষা করতে পারবেন।

৬. নমুনা তথ্য

এখন আপনাকে ডাটাবেসে অবজেক্ট তৈরি করতে হবে এবং ডেটা লোড করতে হবে। আপনি একটি কাল্পনিক সিম্বল শিপিং কোম্পানির ডেটাসেট ব্যবহার করতে যাচ্ছেন। এতে পণ্য, ট্রাক, অনুরোধ এবং ট্রাক ট্রিপ সম্পর্কিত কাল্পনিক ডেটার পাশাপাশি কাল্পনিক ড্রাইভারও রয়েছে।

স্টোরেজ বাকেট তৈরি করুন

আপনি আমাদের ক্লোন করা রিপোজিটরি থেকে AlloyDB ডেটাবেসে ডেটা ইম্পোর্ট করার জন্য Google SDK (gcloud) ব্যবহার করবেন এবং এর জন্য একটি স্টোরেজ বাকেট তৈরি করতে ও AlloyDB সার্ভিস অ্যাকাউন্টকে অ্যাক্সেস দিতে হবে। বিকল্পভাবে, আপনি ডকুমেন্টেশনে বর্ণিত ওয়েব কনসোল ব্যবহার করেও এটি করার চেষ্টা করতে পারেন।

গুগল ক্লাউড শেল টার্মিনালে নিম্নলিখিত কমান্ডটি চালান:

PROJECT_ID=$(gcloud config get-value project)
REGION=us-central1
gcloud storage buckets create gs://$PROJECT_ID-import --project=$PROJECT_ID --location=$REGION
gcloud storage buckets add-iam-policy-binding gs://$PROJECT_ID-import --member="serviceAccount:service-$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")@gcp-sa-alloydb.iam.gserviceaccount.com" --role=roles/storage.objectViewer

ডেটা লোড করুন

পরবর্তী ধাপ হলো ডেটা লোড করা। আমাদের SQL ডাম্পটি ক্লোন করা রিপোজিটরি ফোল্ডারে অবস্থিত। নিম্নলিখিত কমান্ডটি ধরে নেয় যে, আপনি পূর্ববর্তী ধাপে AlloyDB ক্লাস্টার তৈরি করার সময় রিপোজিটরি ক্লোন করতে আপনার হোম ডিরেক্টরিকে প্রারম্ভিক বিন্দু হিসেবে ব্যবহার করেছেন।

সংকুচিত SQL ডাম্পটি নতুন স্টোরেজ বাকেটে কপি করুন:

REPO_NAME="codelabs"
SOURCE_DIR="alloydb-ai-mcp"
cd ~/$REPO_NAME/$SOURCE_DIR
gcloud storage cp ~/$REPO_NAME/$SOURCE_DIR/postgres_dump.sql.gz  gs://$PROJECT_ID-import

তারপর quickstart_db ডেটাবেসে ডেটা লোড করুন:

PROJECT_ID=$(gcloud config get-value project)
CLUSTER_NAME=alloydb-aip-01
REGION=us-central1
gcloud alloydb clusters import $CLUSTER_NAME  --region=us-central1 --database=quickstart_db --gcs-uri=gs://$PROJECT_ID-import/postgres_dump.sql.gz --project=$PROJECT_ID --sql

এই কমান্ডটি স্যাম্পল ডেটাসেটটি quickstart_db ডেটাবেসে লোড করবে। আপনি AlloyDB Studio ব্যবহার করে টেবিল এবং রেকর্ডগুলো যাচাই করতে পারেন।

৭. ডেটা এজেন্টের সাথে কাজ করুন

চলুন, পাইথনের জন্য গুগল এডিকে (Google ADK) ব্যবহার করে তৈরি একটি নমুনা এআই এজেন্ট (AI agent) দিয়ে শুরু করা যাক এবং দেখানো যাক কীভাবে এটিকে অ্যালয়ডিবি (AlloyDB)-র জন্য গুগল ক্লাউড এমসিপি (Google Cloud MCP) সার্ভারের সাথে কাজ করার জন্য কনফিগার করতে হয়।

এজেন্ট সোর্স কোড পরীক্ষা করুন

ক্লোন করা রিপোজিটরিতে গুগল ক্লাউড শেল এডিটর ব্যবহার করে এজেন্ট কোডটি পর্যালোচনা করুন।

REPO_NAME="codelabs"
SOURCE_DIR="alloydb-ai-mcp"
edit ~/$REPO_NAME/$SOURCE_DIR/cymbal_logistic/data_agent/agent.py

আপনি এজেন্টে দেখতে পাবেন, AlloyDB-এর জন্য আমাদের একটি Google Cloud MCP সার্ভারের সেকশন রয়েছে। আমরা MCP_SERVER_URL হিসেবে একটি এন্ডপয়েন্ট, অথেনটিকেশন, প্রজেক্ট আইডি প্রদান করি এবং এটিকে MCP টুলসেটে যুক্ত করি।

# Google Cloud MCP Server for AlloyDB

MCP_SERVER_URL = "https://alloydb.googleapis.com/mcp"
creds, project_id = default(scopes=["https://www.googleapis.com/auth/cloud-platform"])
if not creds.valid:
    creds.refresh(GoogleAuthRequest())

print(f"Authenticated as project: {project_id}")

# 2. Configure MCP Toolset
# We use StreamableHTTPConnectionParams to pass the auth header
headers = {
    "Authorization": f"Bearer {creds.token}",
    "X-Goog-User-Project": project_id
}
    
connection_params = StreamableHTTPConnectionParams(
    url=MCP_SERVER_URL,
    headers=headers,
    timeout=300.0,
    sse_read_timeout=600.0
)

mcp_toolset = McpToolset(connection_params=connection_params)

এবং এজেন্ট কোডে MCP টুলসেটটি এজেন্টের জন্য tools প্যারামিটার হিসেবে অন্তর্ভুক্ত করা হয়েছে। এছাড়াও, এজেন্ট প্রম্পটের জন্য ভেরিয়েবল হিসেবে ক্লাস্টার ও ইনস্ট্যান্সের নাম, রিজিয়ন এবং ডেটাবেস রয়েছে।

MODEL_ID = "gemini-3-flash-preview"
cluster_name="alloydb-aip-01"
instance_name="alloydb-aip-01-pr"
location="us-central1"
database_name="quickstart_db"

# Agent configuration

root_agent = Agent(
    model=MODEL_ID,
    name='root_agent',
    description='A helpful assistant for analyst requests.',
    instruction=f"""
    Answer user questions to the best of your knowledge using provided tools.
    Do not try to generate non-existent data but use the grounded data from the database.
    When you answer questions about Cymbal Logistic activity
    use the toolset to run query in the AlloyDB cluster {cluster_name} instance {instance_name} in the location {location}
    in the project {project_id} in the database {database_name}
    Use ai schema to use AI functions and models like gemini-3-flash-preview with the functions from the schema.
    """,
    tools=[mcp_toolset],
)

AlloyDB-এর জন্য Google Cloud MCP পরিষেবাতে পূর্বনির্ধারিত কিছু টুল রয়েছে। আপনি যদি সমস্ত উপলব্ধ টুলের তালিকা দেখতে চান, তাহলে ক্লাউড শেল কনসোল টার্মিনাল থেকে নিম্নলিখিত কমান্ডটি ব্যবহার করে curl কমান্ডের মাধ্যমে তা করতে পারেন। এবং আপনি ডকুমেন্টেশনে AlloyDB-এর জন্য Google Cloud MCP সার্ভারের সর্বশেষ তথ্য সবসময় দেখে নিতে পারেন।

curl -s -X POST http://alloydb.googleapis.com/mcp \
  -H "Content-Type: application/json" \
  -d @- <<EOF | jq -r '.result.tools[].name'
{
  "id": "my_id_01",
  "jsonrpc": "2.0",
  "method": "tools/list"
}
EOF

এজেন্ট শুরু করুন

এখন আপনি গুগল এডিকে ওয়েব ইন্টারফেস ব্যবহার করে এজেন্টটিকে ইন্টারেক্টিভ মোডে চালু করতে পারেন। এডিকে ওয়েব ইন্টারফেসটি এজেন্টের ওয়ার্কফ্লো পরীক্ষা এবং সমস্যা সমাধানের একটি সুবিধাজনক উপায় প্রদান করে।

প্রথমে আমরা uv প্যাকেজ ম্যানেজার ব্যবহার করে পাইথনের জন্য প্রয়োজনীয় সমস্ত প্যাকেজ ইনস্টল করে নেব।

REPO_NAME="codelabs"
SOURCE_DIR="alloydb-ai-mcp"
cd ~/$REPO_NAME/$SOURCE_DIR/cymbal_logistic
uv sync

সমস্ত প্যাকেজ ইনস্টল হয়ে গেলে, এআই মডেলগুলির সাথে সমস্ত যোগাযোগের জন্য ভার্টেক্স এআই (Vertex AI) ব্যবহার করার নির্দেশ দিতে আপনাকে এজেন্ট ডিরেক্টরিতে একটি .env ফাইল যোগ করতে হবে।

echo "GOOGLE_GENAI_USE_VERTEXAI=true" > data_agent/.env
echo "GOOGLE_CLOUD_PROJECT=$(gcloud config get-value project -q)" >> data_agent/.env
echo "GOOGLE_CLOUD_LOCATION=global" >> data_agent/.env

তারপর আপনি এজেন্টটি চালু করতে পারেন।

uv run adk web --allow_origins 'regex:https://.*\.cloudshell\.dev'

http://127.0.0.1:8000- এর মতো এন্ডপয়েন্ট ব্যবহার করলে আপনি নিম্নলিখিত আউটপুটের মতো কিছু দেখতে পাবেন।

4aa60270e31efe37.jpeg

আপনি ক্লাউড শেলে সেই URL-টিতে ক্লিক করতে পারেন এবং এটি একটি আলাদা ব্রাউজার ট্যাবে একটি প্রিভিউ উইন্ডো খুলবে, যেখানে আপনি বাম দিকের ড্রপ-ডাউন তালিকা থেকে data_agent বেছে নিতে পারবেন।

811a5b12534432d8.jpeg

ADK ওয়েব ইন্টারফেসে আপনি নীচের ডানদিকে আপনার প্রশ্ন পোস্ট করতে পারেন এবং ডানদিকে প্রতিটি ধাপের ট্রেস সহ সম্পূর্ণ এক্সিকিউশন ফ্লো দেখতে পারেন।

৮. এজেন্টের সাহায্যে AlloyDB MCP পরীক্ষা করুন

এজেন্টটি আপনাকে স্বাভাবিক ভাষায় প্রশ্ন করার সুযোগ দেয় এবং প্রশ্নগুলোর উত্তর দেওয়ার জন্য এটি টুল হিসেবে অ্যালয়ডিবি-র জন্য গুগল ক্লাউড এমসিপি সার্ভার ব্যবহার করবে। প্রশ্নগুলো ডানদিকের নিচে পোস্ট করা হয় এবং টুলগুলোতে করা সমস্ত কলের উত্তর উপরে প্রদর্শিত হবে।

8c7058ed2b8c2dd8.jpeg

আপনি একটি শিপিং কোম্পানির পরিচালন সংক্রান্ত ডেটা নিয়ে কাজ করছেন, যেখানে শিপিং অনুরোধ, ট্রাক, ড্রাইভার এবং ড্রাইভারদের দ্বারা সম্পন্ন ট্রিপ সম্পর্কিত তথ্য রয়েছে। প্রথম প্রশ্নটি হলো ২০২৬ সালের ফেব্রুয়ারী মাসে সম্পাদিত ট্রিপের সংখ্যা সম্পর্কে।

ডানদিকের নিচের ইনপুট ফিল্ডে নিম্নলিখিতটি টাইপ করুন এবং এন্টার চাপুন।

Hello, can you tell me how many trips we've done in February this year? 

সঠিক ডেটা পাওয়ার জন্য যথাযথ SQL স্টেটমেন্টটি কার্যকর করার আগে, এজেন্টটি স্কিমাতে সঠিক টেবিল এবং টেবিলের কাঠামো শনাক্ত করতে একাধিক টুল কল সম্পাদন করবে।

160d758589f025f1.jpeg

অবশেষে, সঠিক কোয়েরি তৈরি করে ডেটাবেসে তা কার্যকর করার পর এটি ফলাফল প্রদান করবে।

আমাদের ডাটাবেসের রেকর্ড অনুযায়ী, ২০২৬ সালের ফেব্রুয়ারী মাসে ১০৮টি ট্রিপ সম্পন্ন হয়েছিল।

টুল এক্সিকিউশন-এর উপর ক্লিক করে আপনি দেখতে পারেন প্রতিটি টুল কল কী কাজ করে। উদাহরণস্বরূপ, আমাদের ফলাফল পাওয়ার জন্য যে কোয়েরিটি চালানো হয়েছিল তা এখানে দেওয়া হলো।

9285cfe2291e085b.jpeg

এবার আগের মাসের ফলাফলের সাথে তুলনা করতে বলে অনুরোধটিকে আরও জটিল করুন।

How is it in comparison in numbers and mileage with the January?

এটি বিভিন্ন কোয়েরি চালিয়ে, ফলাফল বিশ্লেষণ করে এবং ট্রিপের সংখ্যা ও মাইলেজের পার্থক্য দেখিয়ে ফলাফল প্রদান করে।

In comparison to January 2026, February saw a slight decrease in both the number of trips and the total mileage:

January 2026: 114 trips with a total mileage of 185,597 km.
February 2026: 108 trips with a total mileage of 177,893 km.
This represents a decrease of 6 trips and 7,704 km in mileage for February compared to January.

ADK ওয়েব ইন্টারফেস ব্যবহার করে অন্যান্য সাধারণ অনুরোধগুলো চেষ্টা করে দেখুন এবং লক্ষ্য করুন যে কাঙ্ক্ষিত ফলাফল অর্জনের জন্য এটি কীভাবে বিভিন্ন কোয়েরি সম্পাদন করে।

টার্মিনালে ctrl+c চেপে এজেন্টটি বন্ধ করুন। আপনি ADK ওয়েব ইন্টারফেস দিয়ে ব্রাউজার ট্যাবটি বন্ধ করতে পারেন।

এখন আপনি একটি নমুনা অ্যাপ্লিকেশন ব্যবহার করে দেখতে পারেন এবং ডেটা বিশ্লেষকদের জন্য এটি কীভাবে একটি টুল হিসেবে ব্যবহার করা যেতে পারে তা জানতে পারেন।

৯. নমুনা আবেদন

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

আপনি ক্লাউড শেল এডিটরে app.py ফাইলটি খুলে অ্যাপ্লিকেশন কোডটি বিশ্লেষণ করতে পারেন।

REPO_NAME="codelabs"
SOURCE_DIR="alloydb-ai-mcp"
edit ~/$REPO_NAME/$SOURCE_DIR/cymbal_logistic/app.py

কোডে আমরা ভেরিয়েবলসহ একটি নতুন প্রম্পট আমাদের ডেটা এজেন্টে পাঠানোর জন্য একটি ফাংশন ব্যবহার করি। এর কারণ হলো, যদি আমরা ভিন্ন কোনো ডাটাবেস বা ইনস্ট্যান্স কল করার সিদ্ধান্ত নিই, তবে ইন্টারফেসে এটিকে কনফিগার করতে পারা। নিচে ফাংশনটির সংজ্ঞা এবং প্রম্পটটি দেওয়া হলো।

def run_query_sync(request_text, cluster_name, location, instance_name, database_name, project_id, session_id, summary):
    local_runner = FrontendRunner()
    
    instruction = f"""
    Answer user questions to the best of your knowledge using provided tools.
    Do not try to generate non-existent data but use the grounded data from the database.
    When you answer questions about Cymbal Logistic activity
    use the toolset to run query in the AlloyDB cluster {cluster_name} instance {instance_name} in the location {location}
    in the project {project_id} in the database {database_name}
    Use ai schema to use AI functions and models like gemini-3-flash-preview with the functions from the schema.
    """
    ...

কোডটি পরীক্ষা করার পর আমাদের অ্যাপ্লিকেশনটি শুরু ও পরীক্ষা করার জন্য 'টার্মিনাল' বোতামটি চাপুন। অ্যাপ্লিকেশনটি ৮০৮০ পোর্টে চালু হবে। আপনি যদি পোর্ট পরিবর্তন করতে চান, তবে পোর্টের মান পরিবর্তন করে কমান্ডটি সংশোধন করুন।

ক্লাউড শেলে চালান।

REPO_NAME="codelabs"
SOURCE_DIR="alloydb-ai-mcp"
cd ~/$REPO_NAME/$SOURCE_DIR/cymbal_logistic
uv run mesop app.py --port=8080

এরপর http://localhost:8080-এ ক্লিক করে Google Cloud Shell-এ ওয়েব প্রিভিউ ব্যবহার করুন।

ea2315883c3e583a.jpeg

এটি ব্রাউজারে অ্যাপ্লিকেশন ইন্টারফেস সহ একটি নতুন ট্যাব খুলবে।

উপরের ডানদিকে থাকা 'Enable Debug Output' চেকবক্সে ক্লিক করুন এবং নিচের মতো করে একটি প্রশ্ন টাইপ করুন।

What was the average speed for each driver last month? List top 5 fasters drivers ranking them by the average speed. Show the name, distance and average speed for each of them.

236bf33373ee8bf.jpeg

তারপর Submit Request বাটনটি চাপুন।

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

4130ea489058d102.jpeg

আপনি বিভিন্ন বিশ্লেষণমূলক প্রশ্ন চেষ্টা করার মাধ্যমে এজেন্ট এবং অ্যাপের সক্ষমতা পরীক্ষা করতে পারেন।

এখন পর্যন্ত আপনি MCP সহ এজেন্ট ব্যবহার করে কিছু প্রাথমিক বিশ্লেষণ এবং তথ্য উদঘাটন করতে পেরেছেন। পরবর্তী অধ্যায়ে আপনি AlloyDB-এর আরও উন্নত বৈশিষ্ট্যগুলো ব্যবহার করার চেষ্টা করবেন।

১০. অ্যালয়ডিবি এআই ফাংশন

AlloyDB AI ফাংশনগুলো টেক্সট এবং মাল্টিমোডাল ডেটার (বিশেষত, ছবি) উপর স্মার্ট ফিল্টারিং ও র‍্যাঙ্কিং করতে সক্ষম করে এবং আপনার কোয়েরিগুলোতে Gemini-এর শক্তি নিয়ে আসে। বিশেষ করে, AlloyDB AI ফাংশন AI.IF এবং AI.RANK প্রচলিত SQL অপারেটরগুলোর (ফিল্টার, জয়েন, অ্যাগ্রিগেশন, ইত্যাদি) পাশাপাশি SQL স্টেটমেন্টে ব্যবহৃত হতে পারে।

এআই ফাংশনগুলো ব্যবহার করার আগে আমরা 'ক্লাসিক' পদ্ধতি ব্যবহার করে অনুসন্ধান এবং একত্রীকরণ পরীক্ষা করে দেখব। নিম্নলিখিত নির্দেশটি চেষ্টা করুন।

Can you analyze the activity for the last 5 months and evaluate drivers for the most positive customer feedbacks. Give me top 5 drivers listing names, distance and years of experience for each driver.

এটি গ্রাহকদের মতামত সম্বলিত টেবিলের 'রেটিং' কলামটি খুঁজে বের করতে এবং তা ব্যবহার করে সর্বোচ্চ রেটিং প্রাপ্ত ড্রাইভারদের শনাক্ত করতে সক্ষম। এরপর এটি সেই তথ্য ব্যবহার করে ড্রাইভারদের সম্পর্কে আরও বিস্তারিত তথ্য সংগ্রহ করে।

SELECT 
    d.first_name || ' ' || d.last_name as driver_name,
    SUM(sr.distance_km) as total_distance,
    d.experience_years,
    COUNT(cf.feedback_id) as positive_feedback_count

FROM drivers d

JOIN truck_trips tt ON d.driver_id = tt.driver_id

JOIN customer_feedback cf ON tt.trip_id = cf.trip_id

JOIN shipping_requests sr ON tt.request_id = sr.request_id

WHERE tt.arrival_time >= '2025-12-01' 
AND tt.arrival_time < '2026-05-01'
  
AND cf.rating >= 4

GROUP BY d.driver_id, d.first_name, d.last_name, d.experience_years

ORDER BY positive_feedback_count DESC, total_distance DESC

LIMIT 5;

কিন্তু প্রযুক্তিগতভাবে রেটিংটিতে আমরা মূল্যায়ন করতে চাই এমন সমস্ত প্যারামিটার অন্তর্ভুক্ত থাকতেও পারে, আবার নাও থাকতে পারে। এর জন্য আমরা AlloyDB AI ফাংশন ব্যবহার করতে পারি।

এআই.র‍্যাঙ্ক অপারেটররা

ai.rank() ফাংশনটি একটি ডকুমেন্ট প্রদত্ত কোয়েরির উত্তর কতটা ভালোভাবে দেয়, তার উপর ভিত্তি করে স্কোর নির্ধারণ করে। এটি কোয়েরির ফলাফলকে র‍্যাঙ্ক বা রি-র‍্যাঙ্ক করার জন্য ব্যবহার করা যেতে পারে। আপনি ডকুমেন্টেশনে অপারেটরগুলো সম্পর্কে আরও পড়তে পারেন।

অনুরোধটি সংশোধন করুন এবং চালকদের কর্মক্ষমতা ও পেশাদারিত্বের ভিত্তিতে মূল্যায়ন করার জন্য বিশ্লেষণের সময় এআই.র‍্যাঙ্ক (AI.RANK) ব্যবহার করতে স্পষ্টভাবে বলুন।

Can you find the top 5 fastest drivers in the last month and rank them by the feedback using the AI.RANK function?  Give me top drivers  names, distance, years of experience and rank for each driver.

এই কমান্ডটি সম্পন্ন হতে কিছুটা বেশি সময় লাগতে পারে, কারণ এজেন্টকে প্রথমে AI.RANK ফাংশনটি কীভাবে ব্যবহার করতে হয় তা বুঝতে হবে, ডেটা সংগ্রহ করতে হবে এবং সেই অনুযায়ী তথ্য সাজানোর জন্য AI.RANK প্রয়োগ করতে হবে। সবশেষে, আপনি মডেল দ্বারা র‍্যাঙ্ক করা ড্রাইভারদের তালিকা এবং সম্পাদিত কোয়েরিগুলোর তালিকা পাবেন।

477342ca1aaf1c13.jpeg

মডেলটি যে পথ বেছে নেয়, তার উপর নির্ভর করে ওই কোয়েরিটি কার্যকর হতে কিছুটা সময় লাগতে পারে। এবং ড্রাইভারদের সম্পর্কে তথ্য পেতে ঠিক কোন কোয়েরিটি চালানো হয়েছে, তা আপনি ডিবাগ উইন্ডোতে দেখতে পাবেন।

WITH fastest_drivers AS (
    SELECT 
        d.driver_id,
        d.first_name || ' ' || d.last_name as driver_name,
        d.experience_years,
        SUM(sr.distance_km) as total_distance,
        AVG(sr.distance_km / (NULLIF(EXTRACT(EPOCH 
FROM (tt.arrival_time - tt.departure_time)), 0) / 3600)) as avg_speed,
        COALESCE(STRING_AGG(cf.feedback_text, ' | '), 'No feedback') as feedbacks,
        ROW_NUMBER() OVER (
ORDER BY AVG(sr.distance_km / (NULLIF(EXTRACT(EPOCH 
FROM (tt.arrival_time - tt.departure_time)), 0) / 3600)) DESC) - 1 as row_idx
    
FROM drivers d
    
JOIN truck_trips tt ON d.driver_id = tt.driver_id
    
JOIN shipping_requests sr ON tt.request_id = sr.request_id
    LEFT 
JOIN customer_feedback cf ON tt.trip_id = cf.trip_id
    
WHERE tt.arrival_time >= '2026-04-04'
      
AND tt.arrival_time IS NOT NULL 
      
AND tt.departure_time IS NOT NULL
      
AND tt.arrival_time > tt.departure_time
    
GROUP BY d.driver_id, d.first_name, d.last_name, d.experience_years
    
ORDER BY avg_speed DESC
    
LIMIT 5
)
SELECT 
    f.driver_name,
    f.total_distance,
    f.experience_years,
    f.avg_speed,
    f.feedbacks,
    (SELECT r.score 
FROM ai.rank(
        'semantic-ranker-fast-004',
        'excellent customer service, professional, friendly, fast, 
and reliable delivery reviews',
        ARRAY[f.feedbacks],
        1
    ) r 
LIMIT 1) as feedback_score

FROM fastest_drivers f

ORDER BY feedback_score DESC;

এজেন্ট কীভাবে চূড়ান্ত ফলাফলে পৌঁছায় তা দেখতে আপনি অ্যাপ্লিকেশনটি পরীক্ষা করা এবং কোয়েরিগুলো খতিয়ে দেখা চালিয়ে যেতে পারেন।

এর মাধ্যমেই আমাদের ল্যাব শেষ হলো। আমি আশা করি আপনারা সমস্ত উদাহরণগুলো ভালোভাবে দেখে নিতে পেরেছেন এবং AlloyDB-এর জন্য Google Cloud MCP পরিষেবাটি কীভাবে ব্যবহার করতে হয় তা শিখেছেন। আপনার MCP-কে এন্টারপ্রাইজের জন্য কার্যকর করতে, AlloyDB ডকুমেন্টেশনে বর্ণিত AlloyDB NL2SQL ফিচারগুলোর সাথে এটিকে সংযুক্ত করা যুক্তিযুক্ত। AlloyDB-এর জন্য SQL স্টেটমেন্ট তৈরি করার কোডল্যাবটি ব্যবহার করে আপনি এটি চেষ্টা করে দেখতে পারেন।

১১. পরিবেশ পরিষ্কার করা

অপ্রত্যাশিত চার্জ এড়ানোর জন্য অস্থায়ী রিসোর্সগুলো পরিষ্কার করে রাখা একটি ভালো অভ্যাস। এর সবচেয়ে নির্ভরযোগ্য উপায় হলো সেই প্রজেক্টটি ডিলিট করে দেওয়া, যেখানে আপনি ওয়ার্কফ্লোটি পরীক্ষা করছিলেন। তবে ঐচ্ছিকভাবে, আপনি অ্যালয়ডিবি (AlloyDB)-এর মতো স্বতন্ত্র রিসোর্স ডিলিট করে নিজেকে সীমাবদ্ধ রাখতে পারেন।

ল্যাবের কাজ শেষ হলে AlloyDB ইনস্ট্যান্স এবং ক্লাস্টারটি ধ্বংস করে দিন।

AlloyDB ক্লাস্টার এবং এর সমস্ত ইনস্ট্যান্স মুছে ফেলুন

আপনি যদি AlloyDB-এর ট্রায়াল সংস্করণ ব্যবহার করে থাকেন এবং সেই ট্রায়াল ক্লাস্টার ব্যবহার করে অন্যান্য ল্যাব ও রিসোর্স পরীক্ষা করার পরিকল্পনা থাকে, তাহলে সেটি ডিলিট করবেন না। আপনি একই প্রজেক্টে আরেকটি ট্রায়াল ক্লাস্টার তৈরি করতে পারবেন না।

`force` অপশনটির মাধ্যমে ক্লাস্টারটি ধ্বংস করা হয়, যা ক্লাস্টারের অন্তর্গত সমস্ত ইনস্ট্যান্সকেও মুছে দেয়।

যদি আপনার সংযোগ বিচ্ছিন্ন হয়ে যায় এবং পূর্বের সমস্ত সেটিংস হারিয়ে যায়, তাহলে ক্লাউড শেলে প্রজেক্ট এবং এনভায়রনমেন্ট ভেরিয়েবলগুলো নির্ধারণ করুন:

gcloud config set project <your project id>
export REGION=us-central1
export ADBCLUSTER=alloydb-aip-01
export PROJECT_ID=$(gcloud config get-value project)

ক্লাস্টারটি মুছে ফেলুন:

gcloud alloydb clusters delete $ADBCLUSTER --region=$REGION --force

প্রত্যাশিত কনসোল আউটপুট:

student@cloudshell:~ (test-project-001-402417)$ gcloud alloydb clusters delete $ADBCLUSTER --region=$REGION --force
All of the cluster data will be lost when the cluster is deleted.

Do you want to continue (Y/n)?  Y

Operation ID: operation-1697820178429-6082890a0b570-4a72f7e4-4c5df36f
Deleting cluster...done.   

AlloyDB ব্যাকআপগুলি মুছুন

ক্লাস্টারের সমস্ত AlloyDB ব্যাকআপ মুছে ফেলুন:

for i in $(gcloud alloydb backups list --filter="CLUSTER_NAME: projects/$PROJECT_ID/locations/$REGION/clusters/$ADBCLUSTER" --format="value(name)" --sort-by=~createTime) ; do gcloud alloydb backups delete $(basename $i) --region $REGION --quiet; done

প্রত্যাশিত কনসোল আউটপুট:

student@cloudshell:~ (test-project-001-402417)$ for i in $(gcloud alloydb backups list --filter="CLUSTER_NAME: projects/$PROJECT_ID/locations/$REGION/clusters/$ADBCLUSTER" --format="value(name)" --sort-by=~createTime) ; do gcloud alloydb backups delete $(basename $i) --region $REGION --quiet; done
Operation ID: operation-1697826266108-60829fb7b5258-7f99dc0b-99f3c35f
Deleting backup...done.                                                                                                                                                                                                                                                            

১২. অভিনন্দন

কোডল্যাবটি সম্পন্ন করার জন্য অভিনন্দন।

আমরা যা আলোচনা করেছি

  • কীভাবে একটি AlloyDB ক্লাস্টার তৈরি করবেন এবং নমুনা ডেটা ইম্পোর্ট করবেন
  • AlloyDB ডেটা অ্যাক্সেস API কীভাবে সক্রিয় করবেন
  • AlloyDB NL-এর জন্য Google Cloud MCP কীভাবে সক্রিয় করবেন
  • আপনার ADK এজেন্টে কীভাবে Google Cloud MCP for AlloyDB যোগ করবেন
  • একটি অ্যাপ্লিকেশনে AlloyDB-এর জন্য Google Cloud MCP কীভাবে ব্যবহার করবেন
  • অ্যানালিটিক্সের জন্য AlloyDBMCP-এর সাথে এজেন্ট কীভাবে ব্যবহার করবেন

১৩. জরিপ

আউটপুট:

আপনি এই টিউটোরিয়ালটি কীভাবে ব্যবহার করবেন?

শুধু একবার পড়ে দেখুন এটি পড়ুন এবং অনুশীলনগুলো সম্পূর্ণ করুন।