BigQuery এবং ADK ব্যবহার করে একটি ইভেন্ট-চালিত ডেটা এজেন্ট তৈরি করুন

১. ভূমিকা

এই কোডল্যাবে, আপনি একটি ইভেন্ট-ড্রাইভেন আর্কিটেকচার তৈরি করবেন যা বিগকোয়েরি কন্টিনিউয়াস কোয়েরি, পাব/সাব এবং ভার্টেক্স এআই এজেন্ট ইঞ্জিনে হোস্ট করা এজেন্ট ডেভেলপমেন্ট কিট (ADK) ব্যবহার করে নির্মিত একটি ফ্রড ইনভেস্টিগেটর এজেন্টকে একত্রিত করে।

ইভেন্ট চালিত ডেটা এজেন্ট আর্কিটেকচার

আপনি এমন একটি পাইপলাইন সেট আপ করবেন যেখানে একটি নিরবচ্ছিন্ন কোয়েরি রিয়েল-টাইম রিটেইল ট্রানজ্যাকশনে অসঙ্গতি (যেমন "ইম্পসিবল ট্র্যাভেল") শনাক্ত করবে, এই সন্দেহজনক ইভেন্টগুলিকে একটি পাব/সাব টপিকে এক্সপোর্ট করবে, যা পরবর্তীতে প্রতিটি অসঙ্গতিকে পৃথকভাবে মূল্যায়ন ও প্রতিক্রিয়া জানানোর জন্য একটি ADK এজেন্টকে ট্রিগার করবে।

আপনি যা করবেন

  • নমুনা ট্রানজ্যাকশন ডেটা দিয়ে একটি BigQuery এনভায়রনমেন্ট প্রস্তুত করুন।
  • রিয়েল-টাইম অসঙ্গতি সনাক্ত করতে একটি BigQuery কন্টিনিউয়াস কোয়েরি তৈরি করুন।
  • একক বার্তা রূপান্তর (SMT) ব্যবহার করে একটি পাব/সাব টপিক এবং সাবস্ক্রিপশন সেট আপ করুন।
  • একটি ADK এজেন্টকে Vertex AI Agent Engine-এ পুল, কনফিগার এবং ডিপ্লয় করুন।
  • এজেন্ট যে এস্কেলেশনগুলো গ্রহণ ও প্রসেস করছে, তা যাচাই করার জন্য ট্রানজ্যাকশন ডেটা স্ট্রিম করুন।

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

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

এই কোডল্যাবটি সেইসব মধ্যম স্তরের ডেভেলপারদের জন্য, যারা BigQuery এবং বেসিক পাইথন সম্পর্কে জানেন।

এই কোডল্যাবে তৈরি রিসোর্সগুলোর খরচ ২ ডলারের কম হওয়া উচিত।

আনুমানিক সময়কাল: এই কোডল্যাবটি সম্পূর্ণ করতে প্রায় ৬০ মিনিট সময় লাগবে।

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

একটি গুগল ক্লাউড প্রজেক্ট তৈরি করুন

  1. গুগল ক্লাউড কনসোলের প্রজেক্ট সিলেক্টর পেজে, একটি গুগল ক্লাউড প্রজেক্ট নির্বাচন করুন বা তৈরি করুন
  2. আপনার ক্লাউড প্রোজেক্টের জন্য বিলিং চালু আছে কিনা তা নিশ্চিত করুন। কোনো প্রোজেক্টে বিলিং চালু আছে কিনা তা কীভাবে পরীক্ষা করবেন, তা জেনে নিন।

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

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

  1. Google Cloud কনসোলের শীর্ষে থাকা Activate Cloud Shell-এ ক্লিক করুন।
  2. ক্লাউড শেলে সংযুক্ত হওয়ার পর, আপনার প্রমাণীকরণ যাচাই করুন:
    gcloud auth list
    
  3. আপনার প্রজেক্টটি কনফিগার করা হয়েছে কিনা তা নিশ্চিত করুন:
    gcloud config get project
    
  4. আপনার প্রজেক্টটি প্রত্যাশা অনুযায়ী সেট করা না থাকলে, এটি সেট করুন:
    export PROJECT_ID=<YOUR_PROJECT_ID>
    gcloud config set project $PROJECT_ID
    

আপনার প্রজেক্ট আইডি সেট করুন

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

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

কোডটি নিন

রিপোজিটরি ক্লোন করতে এবং শুধুমাত্র টার্গেট event_driven_agents_demo ফোল্ডারটি ডাউনলোড করতে এই কমান্ডটি চালান, যেটিতে ADK এজেন্ট এবং সেটআপ স্ক্রিপ্টগুলো রয়েছে:

git clone --depth 1 --filter=blob:none --sparse https://github.com/GoogleCloudPlatform/devrel-demos.git temp-repo && cd temp-repo && git sparse-checkout set data-analytics/event_driven_agents_demo && cd .. && mv temp-repo/data-analytics/event_driven_agents_demo . && rm -rf temp-repo

event_driven_agents_demo ডিরেক্টরিতে যান:

cd event_driven_agents_demo

আপনি যদি ক্লাউড শেল এডিটর খোলেন, তাহলে ক্লোন করা রিপোজিটরি কাঠামোটি দেখতে পাবেন:

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

৩. পরিবেশ প্রস্তুত করুন

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

  • এজেন্ট ডেভেলপার কিট (ADK) স্টেজিং করার জন্য একটি গুগল ক্লাউড স্টোরেজ বাকেট প্রস্তুত করে
  • কোয়েরি প্রক্রিয়াকরণের জন্য একটি CONTINUOUS এন্টারপ্রাইজ বিগকোয়েরি রিজার্ভেশন তৈরি করে।
  • BigQuery ডেটাসেট তৈরি করে এবং প্রাথমিক customer_profiles ডেটা লোড করে।
  • ADK এজেন্ট সার্ভিস অ্যাকাউন্টে IAM অনুমতি কনফিগার করে এবং প্রয়োজনীয় ভূমিকাগুলো প্রদান করে।

আপনার ক্লাউড শেল থেকে স্ক্রিপ্টটি চালান:

chmod +x setup/setup_env.sh
./setup/setup_env.sh

৪. ADK এজেন্ট পরিদর্শন করুন

এখন আপনি ADK এজেন্ট কোডটি Vertex AI Agent Engine-এ ডেপ্লয় করবেন। প্রথমে এটি করলে নিশ্চিত হয় যে, ডেটা স্ট্রিমিং শুরু করার আগে আপনার এজেন্টটি ডেপ্লয় করা হয়েছে এবং এস্কেলেশন সামলানোর জন্য প্রস্তুত।

cd agent

ADK (এজেন্ট ডেভেলপমেন্ট কিট) এজেন্ট কোড বোঝা

এজেন্টের মূল লজিক adk_agent_app/agent.py ফাইলে সংজ্ঞায়িত করা আছে।

আমরা এমন একটি এজেন্ট তৈরি করি যা জেমিনি ২.৫ ফ্ল্যাশ ব্যবহার করে স্বয়ংক্রিয়ভাবে অস্বাভাবিক অ্যালার্টগুলো তদন্ত করে। এজেন্টটি অ্যালার্ট পেলোড বিশ্লেষণ করে, বিগকোয়েরি থেকে গ্রাহকের ইতিহাস সংগ্রহ করে এবং ওয়েব সার্চের মাধ্যমে মার্চেন্টের বিবরণ যাচাই করার পর লেনদেনটিকে FALSE_POSITIVE (একটি বৈধ লেনদেন) অথবা ESCALATION_NEEDED হিসেবে শ্রেণীবদ্ধ করে।

# Excerpt from agent/adk_agent_app/agent.py
investigation_agent = Agent(
    model="gemini-2.5-flash",
    name="Fraud_Investigation_Agent",
    description="Expert fraud analyst agent that autonomously investigates alerts...",
    instruction=(
        "You are an expert fraud investigator for Cymbal Bank. "
        "Your goal is to investigate financial transaction alerts, "
        "determine if they are fraudulent, and take appropriate action. "
        "Calculate risk, assess the logic_signals provided in the input, "
        "query the database for past transactions, and search the merchant..."
    ),
    tools=[
        bigquery_toolset,
        google_search,
    ],
)

এজেন্টটি দুটি স্বতন্ত্র সরঞ্জাম দিয়ে সজ্জিত:

  1. BigQueryToolset : এজেন্টকে অতিরিক্ত লেনদেনের ইতিহাস খুঁজে বের করার জন্য cymbal_bank ডেটাসেটে স্বয়ংক্রিয়ভাবে কোয়েরি করার সুযোগ দেয়।
  2. google_search : এজেন্টকে কোনো ব্যবসায়ীর সুনাম খতিয়ে দেখতে এবং তার বৈধতা যাচাই করতে ওয়েবে অনুসন্ধান করার সুযোগ দেয়।

৫. ADK এজেন্ট স্থাপন করুন

এজেন্ট ডেপ্লয় করার জন্য প্রয়োজনীয় পাইথন প্যাকেজগুলো ( google-cloud-aiplatform , google-adk ইত্যাদি) ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান:

pip install -r requirements.txt

আপনার নির্দিষ্ট প্রজেক্ট আইডি সম্বলিত একটি .env ফাইল ডায়নামিকভাবে তৈরি করতে নিম্নলিখিত কমান্ডটি চালান, এটি এজেন্ট ডেপ্লয় করার সময় ব্যবহৃত হবে:

cat <<EOF > .env
PROJECT_ID=$PROJECT_ID
LOCATION=us-central1
STAGING_BUCKET=gs://$PROJECT_ID-adk-staging
SERVICE_ACCOUNT=adk-agent-sa@$PROJECT_ID.iam.gserviceaccount.com
BIGQUERY_DATASET=cymbal_bank
GOOGLE_GENAI_USE_VERTEXAI=1
EOF

এখন Vertex AI Agent Engine-এ এজেন্টটি ডেপ্লয় করতে এই কমান্ডটি চালান:

python deploy_agent_script.py

দ্রষ্টব্য: deploy_agent_script.py ফাইলটি BigQueryAgentAnalyticsPlugin ইনিশিয়ালাইজ করে, যা BigQuery-এর agent_events টেবিলে স্বয়ংক্রিয়ভাবে ট্রেস ডেটা এবং এজেন্ট টুলের ব্যবহার লগ করে।

এটি সম্পন্ন হতে কয়েক মিনিট সময় লাগবে। আপনি নিচের মতো একটি আউটপুট দেখতে পাবেন:

Deploying Agent...
Deployed Resource Name: projects/<YOUR_PROJECT_ID>/locations/<REGION>/reasoningEngines/...

================================================================================
Pub/Sub Push Endpoint URL:
https://<REGION>-aiplatform.googleapis.com/v1/projects/<YOUR_PROJECT_ID>/locations/<REGION>/reasoningEngines/...:streamQuery
================================================================================

ডেপ্লয় করা এজেন্ট এন্ডপয়েন্ট URL-টি agent_endpoint.txt নামের একটি লোকাল ফাইলে সেভ করতে এই কমান্ডটি চালান:

export AGENT_ENDPOINT=$(cat agent_endpoint.txt)

আমরা পরবর্তীতে আমাদের পাব/সাব পুশ সাবস্ক্রিপশন তৈরি করার সময় এই ইউআরএলটি ব্যবহার করব।

৬. ADK এজেন্ট পরীক্ষা করুন

লাইভ স্ট্রিমিং ইভেন্ট তৈরি করার আগে, পরীক্ষা করে দেখুন যে এজেন্ট ইঞ্জিনে থাকা ADK এজেন্ট ম্যানুয়াল এসকেলেশনগুলো সঠিকভাবে পরিচালনা করছে কিনা।

  1. গুগল ক্লাউড কনসোলে, Vertex AI Agent Engine পেজটিতে যান।
  2. আপনার নিযুক্ত এজেন্টের নামে ক্লিক করুন ( Cymbal Bank Fraud Assitant )।
  3. এজেন্টের সাথে সরাসরি যোগাযোগ করতে প্লেগ্রাউন্ড ট্যাবে যান।
  4. চ্যাট ইন্টারফেসে, নিম্নলিখিত সিমুলেটেড JSON ইভেন্ট পেলোডটি পেস্ট করুন যা এজেন্ট Pub/Sub থেকে যা পাবে তার অনুকরণ করে এবং এন্টার চাপুন:
    {
      "window_end": "2026-03-15T10:00:00Z",
      "user_id": "user_39175",
      "customer_name": "Jonathan Mckinney",
      "tx_count": 1,
      "total_window_spend": 15.0,
      "highest_value_merchant": "Google One Subscription",
      "highest_value_mcc": "5732",
      "contains_international_tx": false,
      "contains_untrusted_device_tx": false,
      "final_risk_score": 2,
      "logic_signals": {
        "is_impossible_travel": false,
        "has_security_mismatch": false,
        "is_high_velocity": false
      }
    }
    

যাচাই করুন যে এজেন্টটি লেনদেনটি মূল্যায়ন করে এবং প্লেগ্রাউন্ড উইন্ডোতে তার FALSE POSITIVE মূল্যায়নসহ প্রতিক্রিয়া জানায়:

ভার্টেক্স এআই এজেন্ট ইঞ্জিন প্লেগ্রাউন্ড

৭. পাব/সাব-এ এসকেলেশন স্ট্রিম করার জন্য একটি BigQuery কন্টিনিউয়াস কোয়েরি সেট আপ করুন।

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

cd ../../event_driven_agents_demo

১. একটি পাব/সাব টপিক তৈরি করুন

একটি পাব/সাব টপিক তৈরি করতে এই কমান্ডটি চালান। এই টপিকটি BigQuery কন্টিনিউয়াস কোয়েরি থেকে এক্সপোর্ট করা অ্যানোমালিগুলো গ্রহণ করবে:

gcloud pubsub topics create cymbal-bank-escalations-topic

আমরা পরবর্তী ধাপে এই টপিকটির জন্য সাবস্ক্রিপশন তৈরি করব।

২. BigQuery কন্টিনিউয়াস কোয়েরিটি চালান।

আপনার এজেন্ট ডেপ্লয় করা এবং পাব/সাব টপিক প্রস্তুত হয়ে গেলে, রিয়েল টাইমে retail_transactions স্ট্রিম মনিটর করার জন্য কন্টিনিউয়াস কোয়েরিটি চালু করুন। এই কোয়েরিটি "Impossible Travel" অ্যানোমালি শনাক্ত করে এবং পাব/সাব-এ অ্যালার্ট এক্সপোর্ট করে।

কোয়েরি শুরু করতে নিম্নলিখিত কমান্ডটি চালান:

sed -i "s/YOUR_PROJECT_ID/$PROJECT_ID/g" setup/continuous_query.sql

bq query \
  --use_legacy_sql=false \
  --continuous=true \
  --sync=false \
  --connection_property=service_account=adk-agent-sa@$PROJECT_ID.iam.gserviceaccount.com \
  "$(cat setup/continuous_query.sql)"

টার্মিনালে আপনি এমন আউটপুট দেখতে পাবেন যা নির্দেশ করে যে কন্টিনিউয়াস কোয়েরিটি সফলভাবে শুরু হয়েছে:

Successfully started query your-project-id:bqjob_r66189572226875ed_0000019d000000_1

৮. পুশ সাবস্ক্রিপশন তৈরি করুন

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

এজেন্ট যাতে সঠিক ফরম্যাটে ডেটা পায়, তা নিশ্চিত করতে আমরা একটি সিঙ্গেল মেসেজ ট্রান্সফর্ম (SMT) ব্যবহার করব। SMT-এর মাধ্যমে সাবস্ক্রাইবারের কাছে মেসেজ পাঠানোর আগেই, সরাসরি Pub/Sub-এর ভেতরেই মেসেজের ডেটা এবং অ্যাট্রিবিউটগুলোতে তাৎক্ষণিকভাবে সামান্য পরিবর্তন করা যায়।

আমাদের পাইপলাইনে রূপান্তরটি যেভাবে কাজ করে তা নিচে দেওয়া হলো:

  • ইউডিএফ: setup ডিরেক্টরিতে থাকা transform.yaml ফাইলটিতে জাভাস্ক্রিপ্ট ইউজার-ডিফাইন্ড ফাংশন (UDF) রয়েছে, যা মেসেজগুলো প্রসেস করবে।
  • BigQuery ডেটা আনর‍্যাপিং: BigQuery যখন কন্টিনিউয়াস কোয়েরির মাধ্যমে Pub/Sub-এ ডেটা এক্সপোর্ট করে, তখন এটি JSON পেলোডকে একটি বাইরের অবজেক্টে র‍্যাপ করে।
  • ADK-এর জন্য ফরম্যাটিং: UDF-টি সেই ডাবল-এনকোডিংকে আনর‍্যাপ করে এবং পেলোডটিকে এজেন্ট ইঞ্জিন streamQuery API-এর প্রত্যাশিত কঠোর ফরম্যাটে পুনরায় প্যাকেজ করে।

UDF ট্রান্সফর্ম প্রয়োগ করে সাবস্ক্রিপশনটি তৈরি করতে নিম্নলিখিত কমান্ডটি চালান:

gcloud pubsub subscriptions create cymbal-bank-escalations-sub \
  --topic=projects/$PROJECT_ID/topics/cymbal-bank-escalations-topic \
  --message-transforms-file=setup/transform.yaml \
  --push-endpoint="$AGENT_ENDPOINT" \
  --push-no-wrapper \
  --push-auth-service-account="adk-agent-sa@$PROJECT_ID.iam.gserviceaccount.com" \
  --ack-deadline=600

সাবস্ক্রিপশন তৈরি হয়েছে তা নিশ্চিত করে এমন আউটপুট আপনি দেখতে পাবেন:

Created subscription [projects/your-project-id/subscriptions/cymbal-bank-escalations-sub].

৯. ইভেন্ট তৈরি করুন

অবশেষে, আপনার cymbal_bank.retail_transactions টেবিলে একটি কৃত্রিম "Impossible Travel" ট্রানজ্যাকশন স্ট্রিম করতে generate_events.py রান করে এন্ড-টু-এন্ড ফ্লোটি পরীক্ষা করুন:

python simulator/generate_events.py

এটি আমাদের পূর্বে লোড করা গ্রাহক প্রোফাইলের ডেটা (ক্যারেন বার্টন, যার নিজ দেশ মার্কিন যুক্তরাষ্ট্র) ব্যবহার করে এবং অস্ট্রেলিয়ায় (AUS) সংঘটিত একটি নতুন $2,500 মূল্যের ইলেকট্রনিক্স লেনদেন অনুকরণ করে।

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

এজেন্ট ইঞ্জিন লগ

১০. BigQuery-তে এজেন্টের পারফরম্যান্স বিশ্লেষণ করুন

BigQuery কনসোলে যান এবং cymbal_bank ডেটাসেটটি নির্বাচন করুন। agent_events টেবিলটি নির্বাচন করুন এবং প্রিভিউ-তে ক্লিক করুন:

BigQuery এজেন্ট ইভেন্টগুলির পূর্বরূপ

আউটপুটটি নিশ্চিত করে যে এজেন্ট সফলভাবে "অসম্ভব ভ্রমণ" এস্কেলেশনটি বিশ্লেষণ করেছে।

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

আপনার এজেন্টের সিদ্ধান্তগুলোকে agent_events টেবিলে সংরক্ষিত লেটেন্সি এবং টোকেন ব্যবহারের মেট্রিকগুলোর সাথে যুক্ত করতে নিম্নলিখিত কোয়েরিটি চালান:

-- Create session-level metrics from detailed agent events
SELECT 
  MAX(d.timestamp) AS decision_time,
  ANY_VALUE(d.user_id) AS user_id,
  ANY_VALUE(d.merchant) AS merchant,
  ANY_VALUE(d.decision) AS decision,
  ANY_VALUE(d.summary) AS summary,
  -- Calculate latency in seconds
  TIMESTAMP_DIFF(MAX(e.timestamp), MIN(e.timestamp), SECOND) AS execution_latency_sec,
  -- Aggregate total tokens from LLM calls
  SUM(CAST(JSON_EXTRACT_SCALAR(e.content, '$.usage.total') AS INT64)) AS total_tokens_used,
  -- Count total events logged to represent the agent's complex reasoning steps
  COUNT(e.session_id) AS agent_reasoning_steps,
  -- Count total tool calls
  COUNTIF(e.event_type = 'TOOL_COMPLETED') AS total_tool_count  
FROM 
  `cymbal_bank.agent_decisions` d
JOIN 
  `cymbal_bank.agent_events` e ON d.session_id = e.session_id
GROUP BY 
  d.session_id
ORDER BY 
  decision_time DESC

আপনি একটি ফলাফল সারণী দেখতে পাবেন যা দেখতে অনেকটা এইরকম:

বিগকোয়েরি এজেন্ট অ্যানালিটিক্স ফলাফল

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

প্রোডাকশন এনভায়রনমেন্টে, আপনি সহজেই এই আর্কিটেকচারটি সম্প্রসারণ করতে পারেন। শুধু ডেটা লগ করার পরিবর্তে, আপনার এজেন্ট একটি ওয়েবহুক ব্যবহার করে স্ল্যাক বা টিমস চ্যানেলকে অ্যালার্ট করতে পারে, একটি পেজারডিউটি ​​ইনসিডেন্ট ট্রিগার করতে পারে, ক্লাউড স্প্যানারের মতো লো-ল্যাটেন্সি ডেটাবেসে চূড়ান্ত রায় লিখতে পারে, অথবা হ্যাক হওয়া ক্রেডিট কার্ডটি স্বয়ংক্রিয়ভাবে ফ্রিজ করার জন্য ডাউনস্ট্রিম মাইক্রোসার্ভিসে একটি নতুন পাব/সাব মেসেজ পাবলিশ করতে পারে!

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

আপনার গুগল ক্লাউড অ্যাকাউন্টে চলমান চার্জ এড়াতে, এই কোডল্যাব চলাকালীন তৈরি করা রিসোর্সগুলো মুছে ফেলুন।

The codelab repository includes a cleanup script that will automatically delete your Pub/Sub deployment, BigQuery dataset, BigQuery reservation slot, Vertex Agent Engine configuration, Cloud Storage staging bucket, and IAM service accounts.

যদি BigQuery কন্টিনিউয়াস কোয়েরিটি এখনও চালু থাকে, তাহলে Google Cloud Console-এর BigQuery UI থেকে সেটি বন্ধ করুন। এরপর, ক্লিনআপ স্ক্রিপ্টটি চালান:

chmod +x setup/cleanup_env.sh
./setup/cleanup_env.sh

বিকল্পভাবে, যদি প্রজেক্টটি শুধুমাত্র এই কোডল্যাবের জন্য তৈরি করা হয়ে থাকে, তবে আপনি পুরো প্রজেক্টটি মুছে ফেলার সিদ্ধান্ত নিতে পারেন।

১২. অভিনন্দন

অভিনন্দন! আপনি BigQuery, Pub/Sub, এবং ADK ব্যবহার করে একটি ইভেন্ট-ড্রাইভেন ডেটা এজেন্ট পাইপলাইন তৈরি করেছেন।

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

  • BigQuery কন্টিনিউয়াস কোয়েরি থেকে Pub/Sub-এ অ্যানোমালি কীভাবে এক্সপোর্ট করবেন
  • রূপান্তরিত পাব/সাব বার্তাগুলিকে কীভাবে একটি ADK এজেন্টের কাছে রাউট করবেন
  • Vertex AI Agent Engine-এ কীভাবে একটি এজেন্ট স্থাপন এবং তার সাথে যোগাযোগ করবেন

রেফারেন্স নথি