ADK দিয়ে এআই এজেন্ট তৈরি করা: টুলের সাহায্যে ক্ষমতায়ন

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

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

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

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

আপনি এই সংক্ষিপ্ত URL-এর মাধ্যমেও এই কোডল্যাবটি অ্যাক্সেস করতে পারেন: goo.gle/adk-using-tools

পূর্বশর্ত

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

  • টুল হিসেবে কাস্টম পাইথন ফাংশন তৈরি করে আপনার এজেন্টকে নতুন দক্ষতা দিন।
  • গুগল সার্চের মতো অন্তর্নির্মিত সরঞ্জাম ব্যবহার করে আপনার এজেন্টকে রিয়েল-টাইম তথ্যের সাথে সংযুক্ত করুন।
  • জটিল কাজের জন্য বিশেষায়িত সাব-এজেন্ট তৈরি করে একটি মাল্টি-টুল এজেন্ট গঠন করুন।
  • দ্রুত সক্ষমতা প্রসারিত করতে ল্যাংচেইনের মতো জনপ্রিয় এআই ফ্রেমওয়ার্কের টুলগুলো একীভূত করুন।

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

  • একটি সচল কম্পিউটার এবং নির্ভরযোগ্য ওয়াইফাই
  • গুগল ক্লাউড কনসোল অ্যাক্সেস করার জন্য ক্রোম- এর মতো একটি ব্রাউজার।
  • কৌতূহলী মন এবং শেখার আগ্রহ

২. ভূমিকা

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

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

ADK তিন ধরনের টুল সরবরাহ করে:

  1. ফাংশন টুলস: আপনার অ্যাপ্লিকেশনের অনন্য চাহিদা মেটাতে আপনার তৈরি করা কাস্টম টুলস, যেমন পূর্বনির্ধারিত ফাংশন এবং এজেন্ট।
  2. অন্তর্নির্মিত টুলস: ফ্রেমওয়ার্ক দ্বারা প্রদত্ত সাধারণ কার্যক্রমের জন্য প্রস্তুত টুলস, যেমন গুগল সার্চ এবং কোড এক্সিকিউশন।
  3. তৃতীয় পক্ষের টুলস: Serper-এর মতো জনপ্রিয় এক্সটার্নাল লাইব্রেরি এবং LangChain ও CrewAI-এর টুলস।

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

৩. শুরু করা যাক: আপনার বেস এজেন্ট

কোনো এজেন্টকে বিভিন্ন সরঞ্জাম দিয়ে শক্তিশালী করার আগে, কাজ করার জন্য আপনার একটি প্রাথমিক এজেন্ট প্রয়োজন। আপনার অগ্রগতির জন্য সবচেয়ে উপযুক্ত পথটি বেছে নিন।

পথ A: ফাউন্ডেশন কোডল্যাব থেকে চালিয়ে যাওয়া

আপনি যদি এইমাত্র " বিল্ডিং এআই এজেন্টস উইথ এডিকে: দ্য ফাউন্ডেশন " কোডল্যাবটি সম্পন্ন করে থাকেন, তাহলে আপনি এখন সম্পূর্ণ প্রস্তুত। আপনি আপনার বিদ্যমান ai-agents-adk প্রজেক্ট ডিরেক্টরিতে কাজ চালিয়ে যেতে পারেন।

পথ বি: নতুন করে শুরু করা

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

  1. গুগল ক্লাউড পরিষেবাগুলি কনফিগার করুন
  2. একটি পাইথন ভার্চুয়াল পরিবেশ তৈরি করুন
  3. একজন এজেন্ট তৈরি করুন
  4. ডেভেলপমেন্ট UI-তে এজেন্টটি চালান।

ধাপগুলো সম্পন্ন করার পর, আপনি আপনার শেখার যাত্রা শুরু করার জন্য প্রস্তুত।

৪. মুদ্রা বিনিময়ের জন্য একটি কাস্টম টুল তৈরি করুন

এই পর্যায়ে, ADK ব্যবহার করে কীভাবে একটি সাধারণ AI এজেন্ট তৈরি করতে হয় এবং ডেভেলপমেন্ট UI-তে তা চালু করতে হয়, তা আপনার ইতিমধ্যেই জেনে যাওয়ার কথা।

ধরুন, আপনি আগামী মাসে জাপান ভ্রমণের প্রস্তুতি নিচ্ছেন এবং বর্তমান মুদ্রা বিনিময় হার যাচাই করতে হবে। এজেন্টকে জিজ্ঞাসা করুন , "সিঙ্গাপুর ডলার থেকে জাপানি ইয়েনের বিনিময় হার কত?"

7b3c502f88e8ab80.png

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

এর সমাধানে, আমরা REST API-এর মাধ্যমে বিনিময় হার সংগ্রহের জন্য একটি পাইথন ফাংশন তৈরি করব এবং এটিকে এজেন্টের জন্য একটি ফাংশন টুল হিসেবে একীভূত করব।

টার্মিনাল উইন্ডোতে কিবোর্ড শর্টকাট Ctrl + C ব্যবহার করে চলমান এজেন্ট প্রসেসটি বন্ধ করুন।

custom_functions.py ফাইল তৈরি করুন

personal_assistant ফোল্ডারে custom_functions.py নামের একটি পাইথন ফাইল তৈরি করতে এবং কোড এডিটরে ফাইলটি খুলতে টার্মিনালে এই কমান্ডটি চালান।

cloudshell edit personal_assistant/custom_functions.py

আপনার ফোল্ডার কাঠামোটি এখন দেখতে এইরকম হওয়া উচিত:

ai-agents-adk/
└── personal_assistant/
    ├── .env
    ├── __init__.py
    ├── agent.py
    └── custom_functions.py

এই custom_functions.py ফাইলটিতে একটি বাহ্যিক API থেকে বিনিময় হারের ডেটা সংগ্রহের জন্য দায়ী পাইথন ফাংশনটি থাকবে। নিম্নলিখিত কোডটি ফাইলটিতে কপি ও পেস্ট করুন:

import requests

# define a function to get exchange rate
def get_fx_rate(base: str, target: str):
        """
        Fetches the current exchange rate between two currencies.

        Args:
                base: The base currency (e.g., "SGD").
                target: The target currency (e.g., "JPY").

        Returns:
                The exchange rate information as a json response,
                or None if the rate could not be fetched.
        """
        base_url = "https://hexarate.paikama.co/api/rates/latest"
        api_url = f"{base_url}/{base}?target={target}"

        response = requests.get(api_url)
        if response.status_code == 200:
                return response.json()

এখন, agent.py ফাইলটি সম্পাদনা করুন: get_fx_rate ফাংশনটি ইম্পোর্ট করুন এবং এটিকে একটি FunctionTool হিসেবে নির্ধারণ করুন।

agent.py ফাইল আপডেট করুন

এই কোডব্লকটি কপি করে agent.py ফাইলের বিদ্যমান কন্টেন্টের জায়গায় প্রতিস্থাপন করুন:

from google.adk.agents import Agent
from google.adk.tools import FunctionTool

from .custom_functions import get_fx_rate

root_agent = Agent(
    model='gemini-2.5-flash',
    name='root_agent',
    description='A helpful assistant for user questions.',
    instruction='Answer user questions to the best of your knowledge',
    tools=[FunctionTool(get_fx_rate)]
)

পরিবর্তনগুলি করার পরে, নিম্নলিখিত টাইপ করে এজেন্টটি আবার চালু করুন:

adk web --allow_origins "regex:https://.*\.cloudshell\.dev"

এজেন্ট প্রস্তুত হলে, আবার একই প্রশ্নটি করুন, "সিঙ্গাপুর ডলার থেকে জাপানি ইয়েনের বিনিময় হার কত?"

এবার আপনি get_fx_rate টুল দ্বারা প্রদত্ত প্রকৃত বিনিময় হার দেখতে পাবেন।

76b1647fbfc0687a.png

আপনার ইচ্ছামতো মুদ্রা বিনিময় সংক্রান্ত যেকোনো প্রশ্ন করতে পারেন।

৫. অন্তর্নির্মিত গুগল সার্চ টুলের সাথে সংযুক্ত করুন

এজেন্ট এখন যেহেতু বিনিময় হার জানাতে সক্ষম, পরবর্তী কাজ হলো আগামী মাসের আবহাওয়ার পূর্বাভাস সংগ্রহ করা। এজেন্টকে এই প্রশ্নটি করুন, "আগামী মাসে জাপানের টোকিওর আবহাওয়ার পূর্বাভাস কী?"

399f40c4ea3e0bb3.png

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

সৌভাগ্যবশত, এজেন্ট ডেভেলপমেন্ট কিট (ADK)-এ গুগল সার্চ সহ ব্যবহারের জন্য প্রস্তুত একগুচ্ছ বিল্ট-ইন টুল রয়েছে, যা আমাদের এজেন্টের বহির্বিশ্বের সাথে যোগাযোগের পদ্ধতিকে সহজ করে তোলে।

এজেন্টকে গুগল সার্চ টুল দিয়ে সজ্জিত করতে, আপনাকে একটি মাল্টি-এজেন্ট প্যাটার্ন প্রয়োগ করতে হবে। প্রথমে, আপনি একটি বিশেষায়িত এজেন্ট তৈরি করবেন যার একমাত্র কাজ হবে গুগল সার্চ করা। তারপর, আপনি এই নতুন গুগল সার্চ এজেন্টটিকে আমাদের প্রধান personal_assistant একটি টুল হিসেবে অ্যাসাইন করবেন। ধাপগুলো নিচে দেওয়া হলো:

custom_agents.py ফাইল তৈরি করুন

personal_assistant ফোল্ডারে custom_agents.py নামের একটি পাইথন ফাইল তৈরি করতে এবং কোড এডিটরে এটি খুলতে টার্মিনালে এই কমান্ডটি চালান:

cloudshell edit personal_assistant/custom_agents.py

আপনার ফোল্ডার কাঠামোটি এখন দেখতে এইরকম হওয়া উচিত:

ai-agents-adk/
└── personal_assistant/
    ├── .env
    ├── __init__.py
    ├── agent.py
    ├── custom_functions.py
    └── custom_agents.py

এই custom_agents.py ফাইলটিতে বিশেষায়িত google_search_agent এর কোড থাকবে। নিচের কোডটি custom_agents.py ফাইলে কপি করুন:

from google.adk.agents import Agent
from google.adk.tools import google_search


# Create an agent with google search tool as a search specialist
google_search_agent = Agent(
    model='gemini-2.5-flash',
    name='google_search_agent',
    description='A search agent that uses google search to get latest information about current events, weather, or business hours.',
    instruction='Use google search to answer user questions about real-time, logistical information.',
    tools=[google_search],
)

ফাইলটি তৈরি হয়ে গেলে, নিচে দেখানো অনুযায়ী agent.py ফাইলটি আপডেট করুন।

agent.py ফাইল আপডেট করুন

এই কোডব্লকটি কপি করে agent.py ফাইলের বিদ্যমান কন্টেন্টের জায়গায় প্রতিস্থাপন করুন:

from google.adk.agents import Agent
from google.adk.tools import FunctionTool
from google.adk.tools.agent_tool import AgentTool

from .custom_functions import get_fx_rate
from .custom_agents import google_search_agent


root_agent = Agent(
    model='gemini-2.5-flash',
    name='root_agent',
    description='A helpful assistant for user questions.',
    tools=[
        FunctionTool(get_fx_rate), 
        AgentTool(agent=google_search_agent),
    ]
)

চলুন কোডের শক্তিশালী নতুন প্যাটার্নটি বিশ্লেষণ করা যাক:

  • একজন নতুন বিশেষজ্ঞ এজেন্ট : আমরা google_search_agent নামে একটি সম্পূর্ণ নতুন এজেন্ট সংজ্ঞায়িত করেছি। এর নির্দিষ্ট বিবরণ এবং এর একমাত্র টুল যে google_search , তা লক্ষ্য করুন। এটি একজন সার্চ বিশেষজ্ঞ।
  • agent_tool.AgentTool : এটি ADK-এর একটি বিশেষ র‍্যাপার। এটি একটি সম্পূর্ণ এজেন্টকে (আমাদের google_search_agent) এমনভাবে প্যাকেজ করে, যাতে এটি দেখতে ও কাজ করতে একটি সাধারণ টুলের মতো হয়।
  • একটি আরও স্মার্ট root_agent : আমাদের root_agent এখন একটি নতুন টুল আছে: AgentTool(agent=google_search_agent) । এটি ওয়েবে কীভাবে অনুসন্ধান করতে হয় তা জানে না, কিন্তু এটি জানে যে এর কাছে এমন একটি টুল আছে যাকে এটি অনুসন্ধানের কাজ অর্পণ করতে পারে।

লক্ষ্য করুন, root_agent থেকে নির্দেশনা ক্ষেত্রটি সরিয়ে ফেলা হয়েছে। এর নির্দেশনাগুলো এখন এর কাছে উপলব্ধ টুলগুলোর মাধ্যমে পরোক্ষভাবে নির্ধারিত হয়।

root_agent একটি অর্কেস্ট্রেটর বা রাউটারে পরিণত হয়েছে, যার প্রধান কাজ হলো ব্যবহারকারীর অনুরোধ বোঝা এবং সেটিকে সঠিক টুলের কাছে পাঠিয়ে দেওয়া—হয় get_fx_rate ফাংশন অথবা google_search_agent । এই বিকেন্দ্রীভূত নকশাটিই জটিল ও রক্ষণাবেক্ষণযোগ্য এজেন্ট সিস্টেম তৈরির মূল চাবিকাঠি।

এখন, ইনস্ট্যান্সটি চালু করতে টার্মিনালে এই কমান্ডটি টাইপ করুন:

adk web --allow_origins "regex:https://.*\.cloudshell\.dev"

এজেন্টটি চালু হয়ে গেলে, তাকে আবার এই প্রশ্নটি করুন, "আগামী মাসে জাপানের টোকিওর আবহাওয়ার পূর্বাভাস কী?"

8a2a6d9532b54301.png

এজেন্টটি এখন সর্বশেষ তথ্য পেতে google_search_agent ব্যবহার করছে।

আপনি চলমান কোনো বিনিময় সংক্রান্ত প্রশ্নও জিজ্ঞাসা করে দেখতে পারেন। এজেন্ট এখন সংশ্লিষ্ট প্রশ্নের জন্য সঠিক টুলটি ব্যবহার করতে পারবেন।

ff3739a0b5ede6c2.png

যেসব প্রশ্নের জন্য রিয়েল-টাইম তথ্যের প্রয়োজন, এজেন্টকে নির্দ্বিধায় সে সব প্রশ্ন করুন এবং তার কাছে থাকা সরঞ্জামগুলো ব্যবহার করে সে কীভাবে প্রশ্নগুলো সামাল দেয় তা পর্যবেক্ষণ করুন।

6. LangChain এর উইকিপিডিয়া টুল লিভারেজ

আমাদের এজেন্টটি একটি চমৎকার ভ্রমণ সহকারী হিসেবে গড়ে উঠছে। এটি তার get_fx_rate টুলের সাহায্যে মুদ্রা বিনিময় এবং google_search_agent টুলের সাহায্যে লজিস্টিকস পরিচালনা করতে পারে। কিন্তু একটি দারুণ ভ্রমণ শুধু লজিস্টিকসের উপরই নির্ভর করে না; এটি আপনার গন্তব্যের সংস্কৃতি এবং ইতিহাস বোঝার উপরও নির্ভরশীল।

যদিও google_search_agent সাংস্কৃতিক ও ঐতিহাসিক তথ্য খুঁজে বের করতে পারে, উইকিপিডিয়ার মতো একটি নির্দিষ্ট উৎস থেকে প্রাপ্ত তথ্য প্রায়শই আরও সুসংগঠিত এবং নির্ভরযোগ্য হয়।

সৌভাগ্যবশত, ADK-কে অত্যন্ত সম্প্রসারণযোগ্য করে ডিজাইন করা হয়েছে, যা আপনাকে CrewAI এবং LangChain-এর মতো অন্যান্য AI এজেন্ট ফ্রেমওয়ার্কের টুলগুলোকে নির্বিঘ্নে একীভূত করার সুযোগ দেয়। এই আন্তঃকার্যক্ষমতা অত্যন্ত গুরুত্বপূর্ণ, কারণ এটি দ্রুততর ডেভেলপমেন্টের সময় নিশ্চিত করে এবং বিদ্যমান টুলগুলোকে পুনরায় ব্যবহার করার সুযোগ দেয়। এই ব্যবহারের ক্ষেত্রে, আমরা LangChain থেকে উইকিপিডিয়া টুলগুলো কাজে লাগাব।

প্রথমে, চলমান এজেন্ট প্রসেসটি বন্ধ করুন ( Ctrl + C ) এবং টার্মিনালে নিম্নলিখিত কমান্ডগুলো টাইপ করে বর্তমান পাইথন ভার্চুয়াল এনভায়রনমেন্টে অতিরিক্ত লাইব্রেরি ইনস্টল করুন।

uv pip install langchain-community wikipedia

third_party_tools.py ফাইল তৈরি করুন

নিম্নলিখিত কমান্ডটি personal_assistant ফোল্ডারে third_party_tools.py নামের একটি পাইথন ফাইল তৈরি করে এবং ক্লাউড এডিটরে সেটি খোলে :

cloudshell edit personal_assistant/third_party_tools.py

আপনার ফোল্ডার কাঠামোটি এখন দেখতে এইরকম হওয়া উচিত:

ai-agents-adk/
└── personal_assistant/
    ├── .env
    ├── __init__.py
    ├── agent.py
    ├── custom_functions.py
    ├── custom_agents.py
    └── third_party_tools.py

এই ফাইলে ল্যাংচেইন উইকিপিডিয়া টুলের বাস্তবায়ন থাকবে। নিম্নলিখিত কোডটি third_party_tools.py ফাইলে কপি করুন:

from langchain_community.tools import WikipediaQueryRun
from langchain_community.utilities import WikipediaAPIWrapper

# Configure the Wikipedia LangChain tool to act as our cultural guide
langchain_wikipedia_tool = WikipediaQueryRun(
    api_wrapper=WikipediaAPIWrapper(top_k_results=1, doc_content_chars_max=3000)
)

# Give the tool a more specific description for our agent
langchain_wikipedia_tool.description = (
    "Provides deep historical and cultural information on landmarks, concepts, and places."
    "Use this for 'tell me about' or 'what is the history of' type questions."
)

agent.py ফাইল আপডেট করুন

এখন, agent.py ফাইলটি নিচের বিষয়বস্তু দিয়ে আপডেট করুন:

from google.adk.agents import Agent
from google.adk.tools import FunctionTool
from google.adk.tools.agent_tool import AgentTool
from google.adk.tools.langchain_tool import LangchainTool

from .custom_functions import get_fx_rate
from .custom_agents import google_search_agent
from .third_party_tools import langchain_wikipedia_tool


root_agent = Agent(
    model='gemini-2.5-flash',
    name='root_agent',
    description='A helpful assistant for user questions.',
    tools=[
        FunctionTool(get_fx_rate), 
        AgentTool(agent=google_search_agent),
        LangchainTool(langchain_wikipedia_tool),
    ]
)

এখন, ইনস্ট্যান্সটি চালু করতে টার্মিনালে এই কমান্ডটি টাইপ করুন:

adk web --allow_origins "regex:https://.*\.cloudshell\.dev"

এজেন্ট প্রস্তুত হলে, তাকে এই প্রশ্নটি করুন, " আমাকে কিয়োটোর ইতিহাস সম্পর্কে বলুন "।

9098274a483dee32.png

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

এজেন্ট ঠিক কীভাবে এই সিদ্ধান্তটি নিয়েছে তা দেখতে, আপনি adk web UI- তে থাকা ইভেন্ট ইন্সপেক্টর ব্যবহার করতে পারেন। ইভেন্টস ট্যাবে এবং তারপর সবচেয়ে সাম্প্রতিক functionCall ইভেন্টটিতে ক্লিক করুন।

eb2cdb9806cd3734.png

ইন্সপেক্টর সমস্ত উপলব্ধ টুলের একটি তালিকা দেখায় এবং এজেন্ট দ্বারা সম্পাদিত টুলের টুল_কোডটি হাইলাইট করে।

119d55bfb0b36e17.png

৭. পরিষ্কার করা (ঐচ্ছিক)

যেহেতু এই কোডল্যাবে কোনো দীর্ঘক্ষণ ধরে চলা প্রোডাক্ট জড়িত নেই, তাই টার্মিনালে Ctrl + C চেপে আপনার সক্রিয় এজেন্ট সেশনগুলো (যেমন, আপনার টার্মিনালে থাকা adk web ইনস্ট্যান্স) বন্ধ করাই যথেষ্ট।

এজেন্ট প্রজেক্টের ফোল্ডার এবং ফাইলগুলো মুছে ফেলুন

আপনি যদি শুধু আপনার ক্লাউড শেল পরিবেশ থেকে কোডটি সরাতে চান, তাহলে নিম্নলিখিত কমান্ডগুলো ব্যবহার করুন:

cd ~
rm -rf ai-agents-adk

ভার্টেক্স এআই এপিআই নিষ্ক্রিয় করুন

পূর্বে সক্রিয় করা Vertex AI API নিষ্ক্রিয় করতে, এই কমান্ডটি চালান:

gcloud services disable aiplatform.googleapis.com

সম্পূর্ণ গুগল ক্লাউড প্রজেক্ট বন্ধ করুন

আপনি যদি আপনার গুগল ক্লাউড প্রজেক্টটি সম্পূর্ণরূপে বন্ধ করতে চান, তাহলে বিস্তারিত নির্দেশাবলীর জন্য অফিসিয়াল গাইডটি দেখুন।

৮. উপসংহার

অভিনন্দন! আপনি সফলভাবে পার্সোনাল অ্যাসিস্ট্যান্ট এজেন্টকে কাস্টম ফাংশন এবং রিয়েল-টাইম গুগল সার্চ অ্যাক্সেস দিয়ে শক্তিশালী করেছেন। গুগল এডিকে (Google ADK)-এর সাথে টুল ব্যবহার করার বিষয়ে এই অফিসিয়াল ডকুমেন্টেশনটি পড়ুন।

আরও গুরুত্বপূর্ণ বিষয় হলো, আপনি সক্ষম এজেন্ট তৈরির মৌলিক আর্কিটেকচারাল প্যাটার্নটি শিখেছেন: বিশেষায়িত এজেন্টকে টুল হিসেবে ব্যবহার করা। একটি ডেডিকেটেড google_search_agent তৈরি করে এবং সেটিকে আপনার root_agent হাতে তুলে দিয়ে, আপনি একটিমাত্র এজেন্ট তৈরি করা থেকে একটি সরল অথচ শক্তিশালী মাল্টি-এজেন্ট সিস্টেম পরিচালনা করার দিকে প্রথম পদক্ষেপ নিয়েছেন।

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