১. ভূমিকা
এই কোডল্যাবে, আপনি গুগলের এজেন্ট ডেভেলপমেন্ট কিট (ADK) এবং জেমিনি ব্যবহার করে ধাপে ধাপে আপনার সর্বপ্রথম এআই এজেন্ট তৈরি করবেন। আপনি একটি সাধারণ ব্লগ-লেখার এজেন্ট তৈরি করবেন যা কনটেন্ট পরিকল্পনা করে ও লেখে এবং এর মাধ্যমে যুক্তি ও কাজ করার মূল ধারণাগুলো প্রদর্শন করবেন।
আপনি যা করবেন
- ADK-এর জন্য আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করুন।
- একজন প্ল্যানার এবং একজন রাইটারের সাহায্যে একটি মাল্টি-এজেন্ট সিস্টেম তৈরি করুন।
- এজেন্টটি স্থানীয়ভাবে চালান এবং ADK ওয়েব UI-এর মাধ্যমে এটির সাথে ইন্টারঅ্যাক্ট করুন।
আপনার যা যা লাগবে
- ক্রোমের মতো একটি ওয়েব ব্রাউজার।
- আপনার মেশিনে পাইথন ৩.১০ বা তার উচ্চতর সংস্করণ ইনস্টল করা থাকতে হবে।
- একটি গুগল এআই স্টুডিও এপিআই কী।
এই কোডল্যাবটি নতুনদের সহ সকল স্তরের ডেভেলপারদের জন্য।
আনুমানিক সময়কাল: ৩০ মিনিট।
২. চিত্র নির্দেশিকা: এআই এজেন্ট বলতে কী বোঝায়?
নির্মাণ শুরু করার আগে, চলুন দ্রুত বুঝে নিই এআই এজেন্ট কী এবং তারা সাধারণত কোন ধরণগুলো অনুসরণ করে।
এআই এজেন্ট বলতে কী বোঝায়?

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

এর অন্যতম সুস্পষ্ট ব্যাখ্যা পাওয়া যায় ‘ReAct: Synergizing Reasoning and Acting in Language Models’ শীর্ষক গবেষণা পত্রটিতে। সেই গবেষণাপত্রের মূল ধারণাটি ছিল সহজ কিন্তু শক্তিশালী: ল্যাঙ্গুয়েজ মডেলগুলোর কাজ শুধু একবারে টেক্সট তৈরি করা নয়। বরং, এগুলো ধাপে ধাপে যুক্তি দিয়ে কাজ করতে পারে, কোনো টুল বা এপিআই কল করার মতো পদক্ষেপ নিতে পারে, তার ফলাফল পর্যবেক্ষণ করতে পারে এবং তারপর পরবর্তী করণীয় সম্পর্কে সিদ্ধান্ত নিতে পারে।
যুক্তি, কাজ, পর্যবেক্ষণ এবং সমন্বয়ের এই চক্রটিই আধুনিক এআই এজেন্টদের কাজের ভিত্তি। এবং এটি গুগল ক্লাউডের সংজ্ঞার সাথেও মিলে যায়: এমন সিস্টেম যাদের যুক্তি, পরিকল্পনা এবং স্মৃতিশক্তি রয়েছে, এবং ব্যবহারকারীর পক্ষ থেকে মানিয়ে নেওয়ার ও সিদ্ধান্ত নেওয়ার জন্য যথেষ্ট স্বায়ত্তশাসন আছে।
তিনটি এজেন্ট আচরণের ধরণ
সব এজেন্ট একই রকম আচরণ করে না। তাদের সম্পর্কে চিন্তা করার একটি কার্যকর উপায় হলো তিনটি প্রধান ধরন:

- ক্রমিক এজেন্ট : এরা একটি অ্যাসেম্বলি লাইনের মতো ধাপে ধাপে চলে: প্রথমে ধাপ ১, তারপর ধাপ ২, তারপর ধাপ ৩। এরা অনুমানযোগ্য, কিন্তু অনমনীয়।
- প্রতিক্রিয়াশীল এজেন্টরা তাৎক্ষণিক সিদ্ধান্ত নেয়। তারা বর্তমান অবস্থা দেখে জিজ্ঞাসা করে, ‘এরপর আমার কী করা উচিত?’ হয়তো একবার টুল ‘এ’, পরেরবার টুল ‘বি’। তারা নমনীয়, কিন্তু আগে থেকে পরিকল্পনা করে না।
- চিন্তাশীল বা পরিকল্পনাকারী ব্যক্তিরা : এরা একটি পরিকল্পনা তৈরি করতে একটু থামেন, তারপর তা বাস্তবায়ন করেন। ভ্রমণ বুক করার কথা ভাবুন — আপনি শুধু এলোমেলোভাবে একটি ফ্লাইট কিনে ফেলেন না, বরং তারিখ ও হোটেল বেছে নেন, ধাপগুলো সাজিয়ে নেন এবং তারপর তা সম্পন্ন করেন।
এগুলোর মধ্যে কোনটি 'সঠিক'? এটি সমস্যার উপর নির্ভর করে। সহজ, অনুমানযোগ্য কার্যপ্রবাহের জন্য অনুক্রমিক পদ্ধতিই যথেষ্ট। গতিশীল কাজের জন্য প্রতিক্রিয়াশীল পদ্ধতি ভালো কাজ করে। নির্ভরশীলতাযুক্ত একাধিক ধাপের লক্ষ্যের জন্য প্ল্যানিং এজেন্ট প্রয়োজন।
এই ল্যাবে, আমরা এমন একটি বিচার-বিবেচনামূলক/পরিকল্পনাকারী এজেন্ট তৈরি করছি যা প্রথমে একটি রূপরেখা তৈরি করে এবং তারপর ব্লগ পোস্টটি লেখে!
৩. শুরু করার আগে
একটি গুগল ক্লাউড অ্যাকাউন্ট এবং প্রজেক্ট তৈরি করুন
এই ল্যাবের পরবর্তী অংশে আপনার এজেন্টকে গুগল ক্লাউড রান-এ ডেপ্লয় করতে, আপনার একটি গুগল ক্লাউড অ্যাকাউন্ট এবং বিলিং চালু থাকা একটি প্রজেক্ট প্রয়োজন হবে।
- গুগল ক্লাউড কনসোলে সাইন-ইন করুন। একটি নতুন প্রজেক্ট তৈরি করুন অথবা বিদ্যমান কোনো প্রজেক্ট পুনরায় ব্যবহার করুন। যদি আপনার আগে থেকে কোনো গুগল অ্যাকাউন্ট না থাকে, তবে আপনাকে অবশ্যই একটি তৈরি করতে হবে।
- এরপরে, ক্লাউড রিসোর্স ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং চালু করতে হবে। এই কোডল্যাবটি সম্পন্ন করতে কয়েক সেন্টের কম খরচ হওয়ার কথা। নতুন গুগল ক্লাউড ব্যবহারকারীরা ৩০০ মার্কিন ডলারের ফ্রি ট্রায়াল প্রোগ্রামের জন্যও যোগ্য হতে পারেন।
- আপনার প্রজেক্ট আইডি (সমস্ত গুগল ক্লাউড প্রজেক্ট জুড়ে একটি অনন্য নাম) লিখে রাখুন। এজেন্ট কনফিগার এবং ডেপ্লয় করার জন্য আপনার এটি প্রয়োজন হবে।
একটি গুগল এআই স্টুডিও এপিআই কী পান
জেমিনি মডেল ব্যবহার করার জন্য গুগল এআই স্টুডিও থেকে একটি এপিআই কী প্রয়োজন।
- গুগল এআই স্টুডিও -তে যান।
- Get API Key- তে ক্লিক করুন।
- একটি নতুন কী তৈরি করুন অথবা বিদ্যমান কী ব্যবহার করুন। পরবর্তী ব্যবহারের জন্য কী-টি কপি করে রাখুন।
৪. ব্লগ লেখক এজেন্ট প্রকল্পের কাঠামো তৈরি করুন
এই ধাপে, আপনি আপনার লোকাল মেশিনে ব্লগ-রাইটিং এজেন্টের কোড রাখার জন্য ডিরেক্টরি এবং ফাইলগুলো সেট আপ করবেন।
১. ব্লগ লেখার এজেন্টের কর্মক্ষেত্র তৈরি করুন
আপনার ব্লগ-রাইটার এজেন্টের জন্য একটি নির্দিষ্ট ডিরেক্টরি তৈরি করতে এবং সেটির ভেতরে প্রবেশ করতে আপনার টার্মিনাল খুলুন এবং নিম্নলিখিত কমান্ডগুলো চালান:
mkdir bloggeragent
cd bloggeragent
২. এজেন্ট ফাইলগুলো প্রারম্ভিক করুন
গুগল এডিকে ফ্রেমওয়ার্ক সরাসরি আপনার প্রজেক্ট ডিরেক্টরি থেকে এজেন্ট ওয়ার্কফ্লো লোড করে। প্রয়োজনীয় ফাইলগুলো সরাসরি bloggeragent এর রুটে তৈরি করুন:
touch requirements.txt .env __init__.py agent.py
৫. নির্ভরশীলতা ইনস্টল করুন এবং পরিবেশ সেটআপ করুন
এই ধাপে, আপনি একটি পাইথন ভার্চুয়াল এনভায়রনমেন্ট সেট আপ করবেন, গুগল এডিকে ফ্রেমওয়ার্ক ইনস্টল করবেন এবং জেমিনি মডেলের সাথে আপনার ব্লগ এজেন্টকে প্রমাণীকরণের জন্য এনভায়রনমেন্ট ভেরিয়েবল কনফিগার করবেন।
১. এজেন্টের প্রয়োজনীয়তাগুলো কনফিগার করুন
bloggeragent ডিরেক্টরিতে থাকা requirements.txt ফাইলটি খুলুন এবং এতে নিম্নলিখিত বিষয়গুলো যোগ করে ব্লগ রাইটিং এজেন্টের জন্য প্রয়োজনীয় প্যাকেজগুলো নির্দিষ্ট করুন:
google-adk==2.2.0
python-dotenv
২. এজেন্টের জন্য একটি ভার্চুয়াল পরিবেশ তৈরি করুন
bloggeragent ডিরেক্টরি থেকে, এজেন্টের প্যাকেজগুলোকে আলাদা করার জন্য একটি পাইথন ভার্চুয়াল এনভায়রনমেন্ট তৈরি ও সক্রিয় করুন:
python3 -m venv .venv
source .venv/bin/activate
৩. ADK ফ্রেমওয়ার্ক ইনস্টল করুন
আপনার স্থানীয় ওয়ার্কস্পেসকে গুগল এডিকে (Google ADK) দিয়ে সজ্জিত করতে, আপনার requirements.txt এ সংজ্ঞায়িত নির্ভরতাগুলি ইনস্টল করুন:
pip install -r requirements.txt
৪. এজেন্ট এপিআই ক্রেডেনশিয়াল কনফিগার করুন
প্রজেক্ট রুটে আপনার তৈরি করা .env ফাইলটি খুলুন এবং আপনার Gemini API কী যোগ করুন:
GOOGLE_API_KEY=your_api_key
Google AI Studio থেকে কপি করা কী-টি দিয়ে your_api_key প্রতিস্থাপন করুন।
৬. মাল্টি-এজেন্ট ব্লগ রাইটার তৈরি করুন
এই ধাপে, আপনি আপনার ব্লগ-রাইটিং এজেন্ট সিস্টেমের মূল কার্যপ্রবাহ বাস্তবায়ন করবেন।
একটি সাধারণ একক-প্রম্পট চ্যাটবটের পরিবর্তে, আপনি একটি জটিল মাল্টি-এজেন্ট সিস্টেম তৈরি করবেন যা উচ্চ-মানের প্রযুক্তিগত পোস্ট লেখার জন্য স্ব-সংশোধনকারী লুপ এবং রূপরেখা যাচাইকরণ ব্যবহার করে। এটি আমাদের পূর্বে আলোচিত বিচার-বিবেচনামূলক/পরিকল্পনা প্যাটার্ন অনুসরণ করে।
স্থাপত্যের সংক্ষিপ্ত বিবরণ

আপনার সিস্টেমের বিশেষজ্ঞ এজেন্টরা যেভাবে যোগাযোগ করে তা নিচে দেওয়া হলো:
init.py কনফিগার করুন
আপনার টেক্সট এডিটরে __init__.py ফাইলটি খুলুন এবং রানারের কাছে এজেন্ট ওয়ার্কফ্লোটি উন্মুক্ত করতে নিম্নলিখিত ইম্পোর্টটি যোগ করুন:
from . import agent
ব্লগ লেখার এজেন্ট ওয়ার্কফ্লো লিখুন
আপনার কোড এডিটরে agent.py খুলুন এবং নিম্নলিখিত কোডটি যোগ করুন, যা প্ল্যানার, রাইটার, ভ্যালিডেশন চেকার এবং মূল ব্লগার এজেন্টকে সংজ্ঞায়িত করে:
import os
import sys
from pathlib import Path
import datetime
from dotenv import load_dotenv
from google.adk.agents import Agent, LoopAgent
from google.adk.tools import agent_tool
# env config
load_dotenv()
MODEL = os.getenv("MODEL", "gemini-flash-latest")
# Sub-Agent: Planner
blog_planner = Agent(
name="BlogPlanner",
model=MODEL,
description="Creates a practical, skimmable outline in Markdown.",
instruction="""
You are a technical content strategist. Produce a clear Markdown outline with:
- Title
- Short intro
- 4–6 main sections (each with 2–3 bullets)
- Conclusion
If `codebase_context` exists in state, weave in specific sections/snippets.
Return only the outline in Markdown.
""",
output_key="blog_outline",
)
class OutlineValidationChecker(Agent):
def __init__(self):
super().__init__(
name="OutlineValidationChecker",
model=MODEL,
description="Validates that the outline is usable.",
instruction="""
Check the outline in state `blog_outline`. If it has a title, intro, 4–6 sections, and a conclusion, respond exactly "ok".
Otherwise respond exactly "retry" and list missing pieces.
""",
output_key="validation_result",
)
robust_blog_planner = LoopAgent(
name="RobustBlogPlanner",
description="Retries planning if validation fails.",
sub_agents=[blog_planner, OutlineValidationChecker()],
max_iterations=3,
)
# Sub-Agent: Writer
blog_writer = Agent(
name="BlogWriter",
model=MODEL,
description="Writes a technical blog post from the outline.",
instruction="""
Write a complete Markdown article from the outline in `blog_outline`.
Guidelines:
- Audience: software engineers; skip basics and focus on practical insight.
- Explain both the 'how' and 'why'.
- Include concise code snippets when helpful.
- Follow the outline's structure (H2/H3).
- Output only the final article in Markdown (no fence around the whole post).
""",
output_key="blog_post",
)
class BlogPostValidationChecker(Agent):
def __init__(self):
super().__init__(
name="BlogPostValidationChecker",
model=MODEL,
description="Validates the final post.",
instruction="""
Check `blog_post` for: intro, clear sections matching the outline, conclusion, and technical clarity.
If passes, respond "ok". Else respond "retry" with the specific fixes.
""",
output_key="validation_result",
)
robust_blog_writer = LoopAgent(
name="RobustBlogWriter",
description="Retries writing if validation fails.",
sub_agents=[blog_writer, BlogPostValidationChecker()],
max_iterations=3,
)
# Expose planner/writer as tools so the root agent can call them explicitly
planner_tool = agent_tool.AgentTool(agent=robust_blog_planner)
writer_tool = agent_tool.AgentTool(agent=robust_blog_writer)
# Root Agent: Plan → Write
root_agent = Agent(
name="Blogger",
model=MODEL,
description="Minimal multi-agent blogger that plans and writes.",
instruction=f"""
If the user gives a topic:
1) Call the planner tool to generate the outline.
2) Call the writer tool to produce the full draft.
3) End with 3 alternate titles and 2 tweet-length hooks.
Date: {datetime.datetime.now().strftime("%Y-%m-%d")}
""",
tools=[
planner_tool, # calls RobustBlogPlanner
writer_tool, # calls RobustBlogWriter
],
)
এজেন্ট আর্কিটেকচার বোঝা
একাধিক এজেন্টের পরিকল্পনা এবং লেখার কর্মপ্রবাহটি কীভাবে বাস্তবায়ন করে তা বোঝার জন্য, চলুন agent.py তে আপনার যোগ করা কোডের প্রধান উপাদানগুলো বিশ্লেষণ করা যাক:
১. ব্লগপ্ল্যানার সাব-এজেন্ট
blog_planner এজেন্টটি কন্টেন্ট পরিকল্পনার জন্য দায়ী। এটি ব্যবহারকারীর দেওয়া টপিক গ্রহণ করে মার্কডাউনে একটি কাঠামোগত রূপরেখা তৈরি করে (যার মধ্যে একটি শিরোনাম, ভূমিকা, ৪-৬টি বিভাগ এবং একটি উপসংহার থাকে)। এই রূপরেখাটি শেয়ার্ড স্টেট ডিকশনারিতে "blog_outline" কী-এর অধীনে সংরক্ষিত হয়।
২. আউটলাইন ভ্যালিডেশন চেকার
OutlineValidationChecker এজেন্টটি একটি কোয়ালিটি গেট হিসেবে কাজ করে। এটি স্টেটে থাকা জেনারেট করা "blog_outline" পর্যালোচনা করে। আউটলাইনটি বৈধ হলে, এটি "ok" দিয়ে সাড়া দেয়। অন্যথায়, এটি কী কী অনুপস্থিত তার একটি তালিকার সাথে "retry" রিটার্ন করে।
৩. রোবাস্টব্লগপ্ল্যানার লুপ
এজেন্ট যাতে ভুল আউটলাইন তৈরি না করে, সেজন্য আমরা প্ল্যানার এবং ভ্যালিডেশন চেকারকে robust_blog_planner নামক একটি LoopAgent মধ্যে রাখি। যদি ভ্যালিডেশন ব্যর্থ হয় এবং "retry" রিটার্ন করে, তাহলে লুপটি স্বয়ংক্রিয়ভাবে প্ল্যানারটিকে সর্বোচ্চ ৩ বার পর্যন্ত পুনরায় চালায়, যা পরবর্তী ধাপে যাওয়ার আগে স্ব-সংশোধন নিশ্চিত করে।
৪. ব্লগরাইটার সাব-এজেন্ট
রূপরেখাটি চূড়ান্ত হয়ে গেলে, blog_writer এজেন্ট স্টেট থেকে "blog_outline" পড়ে এবং রূপরেখার কাঠামো অনুযায়ী ও সফটওয়্যার ইঞ্জিনিয়ারদের জন্য বিশেষভাবে তৈরি করে মার্কডাউনে সম্পূর্ণ টেকনিক্যাল আর্টিকেলটি তৈরি করে।
৫. BlogPostValidationChecker ও RobustBlogWriter লুপ
রূপরেখার মতোই, চূড়ান্ত নিবন্ধটিও BlogPostValidationChecker দ্বারা যাচাই করা হয়, যাতে এর সমস্ত মূল অংশ উপস্থিত ও স্পষ্ট থাকে। লেখক এবং পরীক্ষক উভয়েই robust_blog_writer লুপের মধ্যে আবদ্ধ থাকে, ফলে পরীক্ষক কোনো সমস্যা খুঁজে পেলে এটি সর্বোচ্চ ৩ বার পর্যন্ত নিজেকে সংশোধন করতে পারে।
৬. লুপকে সরঞ্জাম হিসেবে উন্মোচন করা
আমরা AgentTool ব্যবহার করে প্ল্যানার লুপ ( robust_blog_planner ) এবং রাইটার লুপ ( robust_blog_writer )-কে টুল ( planner_tool এবং writer_tool ) হিসেবে র্যাপ করি। এর ফলে অন্যান্য এজেন্টরা এই জটিল ওয়ার্কফ্লোগুলোকে সাধারণ টুলের মতোই কল করতে পারে।
৭. ব্লগার রুট এজেন্ট
root_agent (যার নাম Blogger ) সম্পূর্ণ কার্যপ্রবাহটি পরিচালনা করে। এটিকে কোনো বিষয় দেওয়া হলে, এর নির্দেশাবলী এটিকে নিম্নলিখিত কাজগুলো করতে পরিচালিত করে:
- যাচাইকৃত রূপরেখা তৈরি করতে
planner_toolকল করুন। - সেই রূপরেখার উপর ভিত্তি করে খসড়াটি লেখার জন্য
writer_toolডাকুন। - ৩টি বিকল্প শিরোনাম এবং ২টি টুইট হুক তৈরি করে শেষ করুন।
এই মাল্টি-এজেন্ট লুপ আর্কিটেকচারটি ব্যবহারকারীকে আউটপুট দেখানোর আগে এলএলএম (LLM)-এর ফরম্যাটিং বা কাঠামোগত ভুলগুলো ধরে ও সংশোধন করে নির্ভরযোগ্যতা নিশ্চিত করে!
৭. এজেন্টটি চালান এবং পরীক্ষা করুন
এবার আপনার এজেন্টকে কাজে নামতে দেখার পালা!
১. ADK ওয়েব UI চালু করুন
আপনার টার্মিনালে bloggeragent প্রজেক্টের রুট ডিরেক্টরিতে আছেন এবং আপনার ভার্চুয়াল এনভায়রনমেন্ট সক্রিয় আছে ( source .venv/bin/activate ) তা নিশ্চিত করুন, তারপর ওয়েব ইন্টারফেসটি চালু করুন:
adk web
২. এজেন্টের সাথে যোগাযোগ করুন
- আপনার ব্রাউজার খুলুন এবং
http://127.0.0.1:8000(অথবা আপনার নির্দিষ্ট করা পোর্টে) যান। - আপনার ADK ওয়েব UI দেখা উচিত, যেখানে
Bloggerএজেন্ট লোড করা থাকবে এবং এর ভিজ্যুয়াল লেআউটও দেখা যাবে (যেখানে ব্লগার রুট এজেন্টটি RobustBlogPlanner এবং RobustBlogWriter টুলগুলোর দিকে নির্দেশ করবে):
- মেসেজ বক্সে একটি প্রযুক্তিগত বিষয় টাইপ করুন এবং এন্টার চাপুন। আপনার এজেন্টকে মূল্যায়ন করার জন্য এখানে কিছু আকর্ষণীয় পরীক্ষার নির্দেশিকা দেওয়া হলো:
-
How to build an AI agent using planning loops -
Explain the difference between REST and gRPC in microservices -
A guide to using Python's asyncio for backend concurrency -
Why developers should use Docker for local database setups
-
- UI-তে এক্সিকিউশন ট্রেসটি দেখুন। আপনি দেখতে পাবেন যে
BlogPlannerআউটলাইনটি তৈরি করছে,OutlineValidationCheckerসেটি যাচাই করছে, এবংBlogWriterসেই আউটলাইনের উপর ভিত্তি করে চূড়ান্ত খসড়াটি লিখছে:
৮. ক্লাউড রানে স্থাপন করুন
এখন যেহেতু আপনি যাচাই করে নিয়েছেন যে এজেন্টটি স্থানীয়ভাবে কাজ করছে, চলুন এটিকে গুগল ক্লাউড রান-এ ডেপ্লয় করি যাতে অন্যরাও এটি ব্যবহার করতে পারে!
গুগল ক্লাউড রান হলো একটি পরিচালিত কম্পিউট প্ল্যাটফর্ম যা আপনাকে স্টেটলেস কন্টেইনার চালানোর সুযোগ দেয়, যেগুলোকে ওয়েব রিকোয়েস্ট বা পাব/সাব ইভেন্টের মাধ্যমে চালু করা যায়।
১. স্থাপনের পূর্বশর্তসমূহ
ক্লাউড রান-এ ব্লগ রাইটিং এজেন্ট স্থাপন করতে, আপনাকে আপনার স্থানীয় মেশিনে গুগল ক্লাউড সিএলআই ( gcloud ) ইনস্টল এবং প্রমাণীকরণ করতে হবে:
- Google Cloud CLI ইনস্টল করুন : যদি এটি ইনস্টল করা না থাকে, তাহলে আপনার অপারেটিং সিস্টেমের (macOS, Windows, বা Linux) জন্য Google Cloud CLI ইনস্টলেশন গাইড অনুসরণ করুন।
- আপনার স্থানীয় টার্মিনাল প্রমাণীকরণ করুন : ইনস্টল হয়ে গেলে, আপনার গুগল ক্লাউড অ্যাকাউন্টে লগ ইন করতে আপনার টার্মিনালে নিম্নলিখিত কমান্ডটি চালান:
gcloud auth login - প্রমাণীকরণ যাচাই করুন : নিশ্চিত করুন যে আপনার অ্যাকাউন্ট সফলভাবে লগ ইন করা হয়েছে এবং আপনি আপনার Google Cloud রিসোর্সগুলি অ্যাক্সেস করতে পারছেন:
gcloud auth list
২. গুগল ক্লাউড প্রজেক্ট সেটআপ করুন
টার্মিনালে আপনার সক্রিয় প্রজেক্টটি সেট করুন:
gcloud config set project <YOUR_PROJECT_ID>
আপনার কন্টেইনারাইজড এজেন্ট তৈরি ও স্থাপন করার জন্য প্রয়োজনীয় গুগল ক্লাউড পরিষেবাগুলি সক্রিয় করুন:
gcloud services enable \
run.googleapis.com \
artifactregistry.googleapis.com \
cloudbuild.googleapis.com
যেহেতু ADK deploy কমান্ডটি বিল্ড প্রক্রিয়াটি স্বয়ংক্রিয় করতে Google Cloud Build ব্যবহার করে, তাই আপনাকে অবশ্যই ডিফল্ট কম্পিউট সার্ভিস অ্যাকাউন্টকে Cloud Build ব্যবহারের অনুমতি দিতে হবে।
আপনার প্রজেক্ট নম্বরটি খুঁজে পেতে নিম্নলিখিত কমান্ডটি চালান:
gcloud projects describe <YOUR_PROJECT_ID> --format="value(projectNumber)"
প্রয়োজনীয় IAM রোলগুলো বাইন্ড করতে নিম্নলিখিত কমান্ডগুলো চালান (প্রতিস্থাপন করুন) আপনার প্রজেক্ট আইডি সহ এবং উপরের কমান্ড থেকে প্রাপ্ত নম্বরটি দিয়ে)।
- আপনার কন্টেইনার তৈরি করার জন্য ক্লাউড বিল্ডকে অনুমতি দিন:
gcloud projects add-iam-policy-binding <YOUR_PROJECT_ID> \
--member="serviceAccount:<PROJECT_NUMBER>-compute@developer.gserviceaccount.com" \
--role="roles/cloudbuild.builds.builder"
- Gemini Enterprise-কে অ্যাক্সেসের অনুমতি দিন, যাতে ডেপ্লয় করা এজেন্টটি API কী ছাড়াই Gemini মডেলগুলো কল করতে পারে:
gcloud projects add-iam-policy-binding <YOUR_PROJECT_ID> \
--member="serviceAccount:<PROJECT_NUMBER>-compute@developer.gserviceaccount.com" \
--role="roles/aiplatform.user"
৩. স্থানীয় পরিবেশ ভেরিয়েবল সেট আপ করুন
ডিপ্লয়মেন্ট কমান্ড সহজ করতে এবং টাইপিংয়ের ভুল এড়াতে, আপনার টার্মিনাল সেশনে প্রজেক্ট আইডি-কে একটি এনভায়রনমেন্ট ভেরিয়েবল হিসেবে সেট করুন:
export PROJECT_ID="<YOUR_PROJECT_ID>"
৪. ADK CLI ব্যবহার করে স্থাপন করুন
ADK CLI আপনার এজেন্টকে ক্লাউড রানে স্থাপন করার জন্য একটি সুবিন্যস্ত কমান্ড প্রদান করে।
আপনার ভার্চুয়াল এনভায়রনমেন্ট সক্রিয় আছে এবং আপনি bloggeragent প্রজেক্ট ডিরেক্টরিতে আছেন, তা নিশ্চিত করুন, তারপর ডিপ্লয়মেন্ট কমান্ডটি চালান:
# Deploy using ADK
adk deploy cloud_run \
--project=$PROJECT_ID \
--region=us-east1 \
--service_name=bloggeragent \
--with_ui \
. \
-- \
--set-env-vars GOOGLE_GENAI_USE_VERTEXAI=TRUE,MODEL=gemini-3.5-flash,GOOGLE_CLOUD_LOCATION=global
ডেপ্লয়মেন্ট প্রক্রিয়া চলাকালীন, আপনার টার্মিনালে নিম্নলিখিত দুটি প্রশ্ন জিজ্ঞাসা করা হবে:
- রিপোজিটরি তৈরি নিশ্চিত করুন :
Deploying from source requires an Artifact Registry Docker repository to store built containers. A repository named [cloud-run-source-deploy] in region [us-east1] will be created. Do you want to continue (Y/n)?
Yটাইপ করুন এবং এন্টার চাপুন। - অননুমোদিত অ্যাক্সেসের অনুমতি দিন :
Allow unauthenticated invocations to [bloggeragent] (y/N)?
yটাইপ করে এন্টার চাপুন (এর মাধ্যমে আপনি আপনার ব্রাউজারে সর্বজনীনভাবে ADK ওয়েব UI অ্যাক্সেস করতে পারবেন)।
৫. আপনার ডেপ্লয় করা এজেন্ট অ্যাক্সেস করুন
ডেপ্লয়মেন্ট সম্পন্ন হলে, কমান্ডটি একটি URL আউটপুট করবে। আপনার লাইভ, সর্বজনীনভাবে অ্যাক্সেসযোগ্য ADK ওয়েব UI অ্যাক্সেস করতে আপনার ব্রাউজারে সেই URL-টি খুলুন!
৯. পরিষ্কার করুন
আপনার গুগল ক্লাউড অ্যাকাউন্টে চলমান চার্জ এড়াতে, এই কোডল্যাব চলাকালীন তৈরি করা রিসোর্সগুলো মুছে ফেলুন।
১. ক্লাউড রান সার্ভিস মুছে ফেলুন
স্থাপন করা bloggeragent পরিষেবাটি মুছে ফেলুন:
gcloud run services delete bloggeragent --region=us-east1 --quiet
২. আর্টিফ্যাক্ট রেজিস্ট্রি রিপোজিটরি মুছে ফেলুন
বিল্ড করা কন্টেইনার ইমেজগুলো সংরক্ষণের জন্য তৈরি করা ডকার রিপোজিটরিটি মুছে ফেলুন:
gcloud artifacts repositories delete cloud-run-source-deploy --location=us-east1 --quiet
৩. স্থানীয় সার্ভার বন্ধ করুন
স্থানীয় ADK সার্ভারটি বন্ধ করতে, যে টার্মিনালে এটি চলছে সেখানে CTRL+C চাপুন এবং ভার্চুয়াল এনভায়রনমেন্টটি নিষ্ক্রিয় করুন:
deactivate
১০. অভিনন্দন
অভিনন্দন! আপনি গুগলের ADK এবং Gemini ব্যবহার করে আপনার প্রথম এআই এজেন্ট তৈরি করেছেন।
আপনি যা শিখেছেন
- এআই এজেন্টের মূল ধারণাসমূহ (যুক্তি ও কর্ম সম্পাদন)।
- গুগল এডিকে ব্যবহার করে কীভাবে একটি মাল্টি-এজেন্ট সিস্টেম তৈরি করা যায়।
- ওয়েব ইউআই ব্যবহার করে কীভাবে আপনার এজেন্ট চালাবেন এবং পরীক্ষা করবেন।
পরবর্তী পদক্ষেপ
- আপনার এজেন্টে টুল যোগ করার চেষ্টা করুন (যেমন ওয়েব সার্চ বা এপিআই কল)।
- ভিডিও ২-এর জন্য অপেক্ষা করুন, যেখানে আমরা একটি এমসিপি সার্ভার ইন্টিগ্রেট করব!