Maps Experience এজেন্ট টুল

Maps Experience এজেন্ট টুল (আগে Maps Grounding Lite নামে পরিচিত ছিল) হল একটি Google Maps Platform পরিষেবা, যা মডেল কন্টেক্সট প্রোটোকল (MCP) সাপোর্ট করে। এটি Google Maps থেকে বিশ্বস্ত জিওস্পেশিয়াল ডেটা ব্যবহার করে আপনার AI অ্যাপ্লিকেশনকে আরও সঠিক ও প্রাসঙ্গিক তথ্য প্রদান করতে সাহায্য করে। MCP সার্ভার এমন টুল প্রদান করে যা LLM-কে জায়গা, আবহাওয়া ও রুটের ডেটা অ্যাক্সেস করতে দেয়। অন্যান্য টুল লোকেশনের নাম ও Google Maps URL-কে প্লেস আইডিতে রিজলভ করে। আপনি MCP সার্ভার কাজ করে এমন যেকোনও টুলে এটি চালু করে Maps Experience এজেন্ট টুল ব্যবহার করে দেখতে পারেন।

Maps Experience এজেন্ট টুল হল দুটি SKU সহ একটি প্রোডাক্ট: Essentials এবং Pro। প্রতিটি অনুরোধের জন্য Essentials-এর অধীনে বিল করা হয়, যদি না এটি কোনও Pro বিকল্প ব্যবহার করে। প্রো বিকল্পে জায়গার বিস্তারিত বিবরণ, সার্চ প্রতি আরও জায়গা, রুট প্রতি আরও ইন্টারমিডিয়েট স্টপ এবং লাইভ ট্রাফিক সহ রাউটিংয়ের সুবিধা যোগ করা হয়। বিধিনিষেধযুক্ত GA চলাকালীন, Pro বিকল্পগুলি শুধুমাত্র Pro অনুমোদিত তালিকায় থাকা প্রোজেক্টের জন্য উপলভ্য। দুটি SKU-ই একই MCP সার্ভার, টুল ও ক্রেডেনশিয়াল ব্যবহার করে। আরও জানতে, Essentials ও Pro দেখুন।

টুল

Maps Experience এজেন্ট টুল LLM-কে নিম্নলিখিত Google Maps-এর ক্ষমতা অ্যাক্সেস করার অনুমতি দেয়:

  • জায়গা সার্চ করুন: জায়গা সম্পর্কে তথ্য পাওয়ার অনুরোধ করুন এবং AI-জেনারেটেড সারাংশ পান। এছাড়াও, উত্তরে সারসংক্ষেপের প্রতিটি জায়গার জন্য প্লেস আইডি, কোঅর্ডিনেট ও Google Maps লিঙ্ক অন্তর্ভুক্ত থাকে। ম্যাপে জায়গা দেখাতে আপনি অন্যান্য Google Maps Platform API-এর সাথে প্লেস আইডি ও কোঅর্ডিনেট ব্যবহার করতে পারবেন। Pro-এর মাধ্যমে, আপনি জায়গার আরও বিবরণ, যেমন রিভিউ থেকে ইনসাইট এবং প্রতিটি অনুরোধে সর্বাধিক ১০টি জায়গার অনুরোধ করতে পারবেন।
  • আবহাওয়া দেখুন: আবহাওয়ার তথ্য জানতে চান এবং বর্তমান পরিস্থিতি, প্রতি ঘণ্টার পূর্বাভাস ও দৈনিক পূর্বাভাস জানান।
  • রুট গণনা করা: যাত্রা শুরুর স্থান ও গন্তব্যের মধ্যে রুট গণনা করার অনুরোধ করা, ঐচ্ছিকভাবে মধ্যবর্তী স্টপের মাধ্যমে এবং রুটের দূরত্ব ও সময়সীমা রিটার্ন করা। Pro-এর মাধ্যমে, রুট লাইভ ট্রাফিক পরিস্থিতি বিবেচনা করতে পারে এবং আরও মধ্যবর্তী স্টপ অন্তর্ভুক্ত করতে পারে।

  • নাম রিজলভ করা এবং Maps URL রিজলভ করা: লোকেশন আইডি পেতে লোকেশনের নাম, ঠিকানা এবং Google Maps URL রিজলভ করুন। আরও তথ্যের জন্য, Resolution API দেখুন।

আপনি MCP সার্ভার চালু করার পরে, LLM এই ধরনের ডেটার জন্য গ্রাউন্ডিং তথ্য পেতে এর টুল কল করতে পারে। LLM এই তথ্য প্রাসঙ্গিকতার জন্য ব্যবহার করতে পারে। তবে, এর চূড়ান্ত উত্তরে MCP সার্ভার থেকে পাওয়া সঠিক তথ্য নাও থাকতে পারে। জেনারেট করা উত্তর সঠিক কিনা তা আপনার যাচাই করা উচিত।

Essentials ও Pro

Essentials ও Pro হল একই প্রোডাক্টের দুটি SKU, আলাদা প্রোডাক্ট বা প্ল্যান নয়। কোনও অনুরোধ Pro বিকল্প ব্যবহার করলে, Pro-এর অধীনে বিল করা হয়। অন্যান্য সব অনুরোধ Essentials-এর অধীনে বিল করা হয়। Pro বিকল্পগুলি টুল অনুরোধের সাধারণ ফিল্ড, তাই LLM আপনার হয়ে সেগুলি ব্যবহার করতে পারে। এছাড়াও, একজন এজেন্ট একই কথোপকথনে দুটি SKU ব্যবহার করতে পারেন। যেমন, কোনও এজেন্ট কোনও ল্যান্ডমার্কের কাছাকাছি কফি শপ খুঁজতে Essentials ব্যবহার করতে পারেন। তারপর, তাদের সিগনেচার ড্রিঙ্ক ও বসার জায়গা সম্পর্কে ফলো-আপ প্রশ্নের উত্তর দিতে, এটি Pro ব্যবহার করতে পারে। Pro-এর জন্য আলাদা কোনও MCP সার্ভার, এন্ডপয়েন্ট বা ক্রেডেনশিয়াল নেই।

Essentials, Pro এবং Grounding with Google Maps-এর তুলনা করুন

Grounding with Google Maps হল একটি আলাদা প্রোডাক্ট। এটি Gemini API, Google AI Studio এবং Gemini Enterprise Agent Platform-এ Gemini মডেলে বিল্ট-ইন থাকে। মডেলটি সিদ্ধান্ত নেয় যে কখন Google Maps-এ কোয়েরি করতে হবে এবং সাইটেশন সহ গ্রাউন্ডেড উত্তর প্রদান করে। আপনি Gemini-তে তৈরি করার সময় এবং মডেলকে গ্রাউন্ডিং ম্যানেজ করতে দিতে চাইলে, Grounding with Google Maps বেছে নিন। অন্যান্য মডেল বা এজেন্ট ফ্রেমওয়ার্কের জন্য অথবা প্রতিটি টুল কলের সরাসরি নিয়ন্ত্রণের জন্য Maps Experience এজেন্ট টুল বেছে নিন।

Maps Experience এজেন্ট টুল Grounding with Google Maps
Essentials SKU
(আগে Maps Grounding Lite নামে পরিচিত ছিল)
Pro SKU
অনুরোধের জন্য কীভাবে বিল করা হয় প্রতিটি টুল সংক্রান্ত অনুরোধ যা Pro বিকল্প ব্যবহার করে না Pro বিকল্প ব্যবহার করে এমন প্রতিটি টুল অনুরোধ: include_extended_details, page_size ৫-এর বেশি, ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL, অথবা ১০-এর বেশি ইন্টারমিডিয়েট ওয়েপয়েন্ট প্রতিটি Google Maps কোয়েরি বা গ্রাউন্ডেড প্রম্পট, প্ল্যাটফর্ম এবং মডেলের উপর নির্ভর করে
মডেল ও প্ল্যাটফর্ম MCP-তে কাজ করে এমন যেকোনও মডেল বা এজেন্ট ফ্রেমওয়ার্ক। একটি MCP সার্ভার, এক সেট টুল এবং দুটি SKU-এর জন্য একই ক্রেডেনশিয়াল Gemini API, Google AI Studio এবং Gemini Enterprise Agent Platform-এ Gemini মডেল
টুল কী রিটার্ন করে মূল তথ্য: সার্চ প্রতি সর্বাধিক ৫টি জায়গার বিবরণ, লাইভ ট্রাফিক ছাড়া রুটের দূরত্ব ও সময়সীমা এবং বর্তমান আবহাওয়া ও পূর্বাভাস Essentials-এর সব সুবিধা, সাথে জায়গার আরও বিবরণ (যেমন রিভিউ থেকে পাওয়া ইনসাইট), সার্চ প্রতি সর্বাধিক ১০টি জায়গা, লাইভ ট্রাফিক সহ রুট এবং সর্বাধিক ২৫টি ইন্টারমিডিয়েট ওয়েপয়েন্ট রিভিউ থেকে জায়গার বিবরণ ও ইনসাইট এবং লাইভ ট্রাফিক সহ রুটের তথ্য
অনুরোধের উদাহরণ ফ্যাকচুয়াল ও লজিস্টিক সংক্রান্ত প্রশ্ন: স্টোর বা ব্যবসা, খোলা থাকার সময়, ঠিকানা এবং দূরত্ব বা ভ্রমণের আনুমানিক সময় খোঁজা ব্যক্তিগত বা বিস্তারিত প্রশ্ন: পরিবেশ, সিগনেচার ডিশ, দর্শকদের জন্য পরামর্শ, ৬ থেকে ১০টি জায়গার তুলনা এবং বর্তমান ট্রাফিকে ভ্রমণের সময় Gemini-তে কনভারসেশনাল সার্চ, ভ্রমণসূচী প্ল্যান করা এবং স্থানীয় জায়গা খোঁজা
Places UI Kit ভিজ্যুয়ালাইজেশন এজেন্টিক ডেটা ভিজ্যুয়ালাইজেশন টোকেন (প্রিভিউ) সহ কোনও অতিরিক্ত খরচ ছাড়াই অন্তর্ভুক্ত আলাদাভাবে বিল করা হয়েছে
প্রতি মাসে ফ্রি ব্যবহার ১০,০০০টি অনুরোধ ৫,০০০টি অনুরোধ প্ল্যাটফর্ম ও মডেলের উপর নির্ভর করে। যেমন, Gemini API-তে, Gemini 3 এবং আরও নতুন মডেলে প্রতি মাসে ৫,০০০টি ফ্রি সার্চ কোয়েরি অন্তর্ভুক্ত থাকে। তারপরে, প্রতি ১,০০০ সার্চ কোয়েরির জন্য $১৪ খরচ হয়।
যখন ব্যবহার করবেন তখন পেমেন্ট করার মূল্য ১,০০০টি অনুরোধের জন্য $৭.০০, ভলিউম ডিসকাউন্ট সহ প্রতি ১,০০০টি অনুরোধের জন্য $১৪.০০। ভলিউম প্রাইসিংয়ের জন্য সেলস টিমের সাথে যোগাযোগ করুন।
সেভ করতে সাবস্ক্রাইব করুন Essentials ও Pro প্ল্যানে অন্তর্ভুক্ত অন্তর্ভুক্ত নেই উপলভ্য নয়
শুরু করুন দুটি SKU-এর জন্য একটি সেট-আপ: MCP সার্ভার ব্যবহার করার জন্য LLM কনফিগার করুন দেখুন। সীমাবদ্ধ GA চলাকালীন, Pro বিকল্পের জন্য Pro অনুমোদিত তালিকায় প্রোজেক্ট থাকতে হবে। Gemini API অথবা Agent Platform

এই বিকল্পগুলি যেকোনও SKU-এর সাথে একইভাবে কাজ করে: ভ্রমণ মোড, রওনা হওয়া এবং পৌঁছানোর সময়, বিকল্প রুট, রুট পলিলাইন, আবহাওয়া লুকআপ এবং Resolution API। কোনও অনুরোধের জন্য কোন SKU-এর অধীনে বিল করা হবে তা তারা পরিবর্তন করে না।

Pro SKU-এর অধীনে কী বিল করা হয়

টুল ক্ষমতা Essentials Pro
জায়গা সার্চ করুন প্রতিটি অনুরোধে জায়গার সংখ্যা ৫ পর্যন্ত ৬ থেকে ১০ (page_size ৬ থেকে ১০-এর মধ্যে)
সার্চের সারসংক্ষেপে জায়গার বিবরণ আরও বিস্তারিতভাবে দেখানো (রিভিউ থেকে পাওয়া ইনসাইট, মেনুর হাইলাইট, পরিবেশ, জায়গাটি কতটা ব্যস্ত, দর্শকদের জন্য পরামর্শ এবং কাছাকাছি জায়গা সংক্রান্ত কোয়েরির জন্য দূরত্ব বা ভ্রমণের সময়) উপলভ্য নয় include_extended_details-এর সাথে উপলভ্য
রুট কম্পিউট করুন রাউটিং সংক্রান্ত পছন্দ লাইভ ট্রাফিক সংক্রান্ত তথ্য নেই ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL-এর মাধ্যমে লাইভ ট্রাফিক বা ট্রানজিট রুটের জন্য রিয়েল-টাইম ট্রানজিট ডেটা হিসেব করে
প্রতিটি রুটে মধ্যবর্তী ওয়েপয়েন্ট ১০ পর্যন্ত ১১ থেকে ২৫ (১০ intermediate_waypoints-এর বেশি)
Lookup weather এবং Resolution API কোনও Pro বিকল্প নেই। সব অনুরোধের জন্য Essentials SKU-এর অধীনে বিল করা হয়।

প্রতিটি ক্ষমতা চালু করে এমন অনুরোধের বিকল্পের জন্য, জায়গা সার্চ করুন এবং রুট গণনা করুন দেখুন।

সীমাবদ্ধ GA চলাকালীন Pro বিকল্প

সীমাবদ্ধ GA চলাকালীন, Pro বিকল্পগুলি শুধুমাত্র Google Cloud প্রোজেক্টের জন্য উপলভ্য Pro অনুমোদিত তালিকায়। অ্যাক্সেসের অনুরোধ করতে সেলস টিমের সাথে যোগাযোগ করুন। কোনও প্রোজেক্ট একবার অনুমোদিত তালিকায় যোগ করা হলে, সেটির প্রতিটি API কী এবং OAuth ক্লায়েন্ট Pro বিকল্প ব্যবহার করতে পারবে।

আপনার প্রোজেক্ট এখনও অনুমোদিত তালিকায় না থাকলে, Pro বিকল্প ব্যবহার করা অনুরোধগুলি নিম্নলিখিত উপায়ে ম্যানেজ করা হয়:

  • জায়গা সার্চ করুন: include_extended_details উপেক্ষা করা হয় এবং উত্তরে সর্বাধিক ৫টি জায়গা থাকে, আপনি page_size-এর মান আরও বেশি সেট করলেও। অনুরোধটি Essentials SKU-এর অধীনে বিল করা হয়।
  • Compute routes: ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL-কে ROUTING_PREFERENCE_TRAFFIC_UNAWARE হিসেবে বিবেচনা করা হয় এবং অনুরোধের জন্য Essentials SKU-এর অধীনে বিল করা হয়। ১০টির বেশি মধ্যবর্তী ওয়েপয়েন্ট সহ অনুরোধ করা হলে INVALID_ARGUMENT সমস্যা দেখা দেয়।

আপনার প্রোজেক্ট অনুমোদিত তালিকায় আছে কিনা তা চেক করতে, page_size-এর মান ১০ সেট করে search_places অনুরোধ পাঠান। restaurants in Chicago-এর মতো কোনও বিস্তৃত কোয়েরি ব্যবহার করুন। সাদাতালিকায় থাকা কোনও প্রোজেক্ট ৫টির বেশি জায়গা দেখাতে পারে, যার বিল Pro SKU-এর অধীনে তৈরি করা হয়। অন্যান্য প্রোজেক্ট সর্বাধিক ৫টি জায়গা দেখায়।

Control Pro ব্যবহার

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

  • Pro বিকল্প কখন উপযুক্ত তা মডেলকে বলুন। যেমন: "ব্যবহারকারী রিভিউ, মেনু বা পরিবেশ সম্পর্কে জিজ্ঞাসা করলে তবেই include_extended_details সেট করুন।" অথবা: "ব্যবহারকারী বর্তমান ভ্রমণের সময় জানতে চাইলে তবেই ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL ব্যবহার করুন।"
  • Essentials SKU-তে কোনও এজেন্টকে রাখতে, মডেলকে নির্দেশ দিন যাতে কখনও Pro বিকল্প ব্যবহার না করে। প্রো বিকল্পগুলি হল include_extended_details, page_size ৫টির বেশি, ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL এবং ১০টির বেশি ইন্টারমিডিয়েট ওয়েপয়েন্ট। আপনার MCP ক্লায়েন্ট টুল আর্গুমেন্ট সীমাবদ্ধ করতে পারলে, আপনি টুলের কনফিগারেশনেও সেইসব ভ্যালু ব্লক করতে পারবেন।
  • আপনার বিলিং রিপোর্টে ব্যবহার মনিটর করুন এবং বাজেট সংক্রান্ত সতর্কতা সেট করুন।

Resolution API

Maps Experience এজেন্ট টুল রেজোলিউশন API প্রদান করে। এটি ফ্রি-ফর্ম লোকেশন টেক্সট এবং URL-কে স্ট্রাকচার্ড Google Maps-এর স্থান শনাক্তকারীতে সমাধান করে। Resolution API, REST পদ্ধতি এবং MCP সার্ভারে টুল হিসেবে উপলভ্য:

  • নাম সমাধান করা (REST, MCP): Google Maps-এ নির্দিষ্ট জায়গার এন্টিটিতে লোকেশনের নাম বা ঠিকানার ব্যাচ সমাধান করুন। এটি ব্যবহারকারীর অসংগঠিত কোয়েরি থেকে স্থায়ী প্লেস আইডি খুঁজে পেতে সাহায্য করে।
  • Maps URL সমাধান করা (REST, MCP): নির্দিষ্ট জায়গার এন্টিটির জন্য Google Maps URL-এর ব্যাচ সমাধান করুন। কাজ করে এমন ফর্ম্যাটের মধ্যে স্ট্যান্ডার্ড জায়গার URL ও ছোট করা URL অন্তর্ভুক্ত।

আপনি অন্যান্য Google Maps Platform API-এর সাথে ফেরত পাওয়া জায়গার আইডি ব্যবহার করতে পারবেন। এছাড়াও, প্রতিটি উত্তরে একটি লিঙ্ক থাকে যা সমাধান করা জায়গাগুলিকে Google Maps-এ একটি তালিকা হিসেবে সেভ করে।

আরও তথ্যের জন্য, Maps Tools Resolution API দেখুন।

স্যাম্পেল অ্যাপ ব্যবহার করে দেখুন (নতুন ট্যাবে খুলুন)

বিলিং ও কোটা

আপনাকে কীভাবে বিল করা হয়

Google Maps Platform-এর 'যখন ব্যবহার করবেন তখন পেমেন্ট করুন' প্রাইসিং মডেলের মাধ্যমে, Maps Experience এজেন্ট টুলের ব্যবহার প্রতিটি অনুরোধের জন্য গণনা করা হয়। প্রতিটি অনুরোধ একটি বিলিং ইভেন্টকে বোঝায়। প্রতিটি প্রোডাক্ট SKU-এর জন্য ব্যবহার ট্র্যাক করা হয়। আপনার বিলে মোট চার্জের পাশাপাশি প্রতিটি SKU-এর জন্য একটি লাইন আইটেম দেখানো হয়। আরও জানতে রিপোর্টিং ওভারভিউ দেখুন।

প্রতিটি Search places, Compute routes বা Lookup weather অনুরোধের জন্য ঠিক একটি SKU, Essentials বা Pro-এর অধীনে বিল করা হয়। Pro বিকল্প ব্যবহার করে করা অনুরোধের জন্য Pro SKU-এর অধীনে বিল করা হয়। এটি কখনই দুটি SKU-এর অধীনে বিল করা হয় না এবং Pro বিকল্পের সংখ্যা চার্জ পরিবর্তন করে না। নিম্নলিখিত বিকল্পগুলি SKU নির্ধারণ করে:

টুল Essentials Pro
search_places Pro বিকল্প ছাড়া যেকোনও অনুরোধ: ৫ বা তার কমের মধ্যে page_size এবং include_extended_details আনসেট করা বা false include_extended_details-এ true সেট করা হয়েছে অথবা page_size-এ ৬ থেকে ১০ সেট করা হয়েছে
compute_routes Pro বিকল্প ছাড়া যেকোনও অনুরোধ: routing_preference আনসেট বা ROUTING_PREFERENCE_TRAFFIC_UNAWARE এবং যেকোনও ট্রাভেল মোড সহ ১০ বা তার কম ইন্টারমিডিয়েট ওয়েপয়েন্ট routing_preference-এ ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL সেট করা হয়েছে অথবা ১১ থেকে ২৫টি ইন্টারমিডিয়েট ওয়েপয়েন্ট
lookup_weather প্রতিটি অনুরোধ —

Essentials-এর দাম জানতে, Essentials SKU-এর বিবরণ দেখুন। Pro অনুরোধের জন্য প্রতি মাসে প্রথম ৫,০০০টি অনুরোধের পরে প্রতি ১,০০০টি অনুরোধের জন্য $১৪.০০ বিল করা হয়। ভলিউম প্রাইসিংয়ের জন্য সেলস টিমের সাথে যোগাযোগ করুন।

সীমাবদ্ধ GA চলাকালীন, Pro বিকল্পগুলি শুধুমাত্র Pro অনুমোদিত তালিকায় থাকা প্রোজেক্টগুলিতে কার্যকর হয়। আরও জানতে, সীমাবদ্ধ GA চলাকালীন প্রো বিকল্প দেখুন।

মূল্য সংক্রান্ত বিবরণের জন্য মূল দামের টেবিল এবং ভারতের দামের টেবিল দেখুন।

রেজোলিউশন API সংক্রান্ত অনুরোধের (ResolveNames এবং ResolveMapsUrls) জন্য Places API Text Search Essentials (IDs Only) SKU-এর অধীনে কোনও চার্জ নেওয়া হয় না।

Essentials SKU-এর ব্যবহার Essentials ও Pro সেভ করতে সাবস্ক্রাইব করুন প্যাকেজেও অন্তর্ভুক্ত। সাবস্ক্রাইব করে প্যাকেজ সেভ করার সুবিধা Pro SKU-তে অন্তর্ভুক্ত নয়।

কোটা

Maps Experience-এর মাধ্যমে প্রদান করা টুল ও API-এর ক্ষেত্রে নিম্নলিখিত কোটা প্রযোজ্য হয় এজেন্ট টুল:

  • জায়গা সার্চ করা: প্রোজেক্ট পিছু প্রতি মিনিটে ৩০০টি কোয়েরি।
  • লুকআপ ওয়েদার: প্রতি মিনিটে, প্রতি প্রোজেক্টে ৩০০টি কোয়েরি।
  • রুট গণনা করা: প্রতি প্রোজেক্টে প্রতি মিনিটে ৩০০টি কোয়েরি।
  • নামের সমাধান করা: প্রোজেক্ট প্রতি মিনিটে ৬০০টি কোয়েরি।
  • Maps URL সমাধান করা: প্রতি প্রোজেক্টে প্রতি মিনিটে ৬০০টি কোয়েরি।

টুল প্রতি কোটা গণনা করা হয় এবং Essentials ও Pro SKU-এর মাধ্যমে শেয়ার করা হয়। Pro অনুরোধ, একই টুলের জন্য Essentials অনুরোধের মতো একই কোটা ব্যবহার করে।

প্রতিটি রেজোলিউশন API অনুরোধ একটি কোয়েরি হিসেবে গণনা করা হয়, এতে কতগুলি আইটেম আছে তা বিবেচনা করা হয় না।

নীতি ও পরিষেবার শর্তাবলী

Maps Experience এজেন্ট টুল Google Maps Platform পরিষেবার শর্তাবলী মেনে চলে, যার মধ্যে পরিষেবা-নির্দিষ্ট শর্তাবলী অন্তর্ভুক্ত। এই বিভাগে Maps Experience এজেন্ট টুলের জন্য অতিরিক্ত ব্যবহারের প্রয়োজনীয়তা বর্ণনা করা হয়েছে, যার মধ্যে মানানসই LLM এবং সোর্স অ্যাট্রিবিউশন অন্তর্ভুক্ত। যে SKU-এর অধীনেই কোনও অনুরোধের বিল করা হোক না কেন, সব ফলাফলের ক্ষেত্রে প্রয়োজনীয়তা প্রযোজ্য।

মানানসই LLM-এর জন্য প্রয়োজনীয়তা

আপনি শুধুমাত্র এমন LLM-এর সাথে Maps Experience এজেন্ট টুল ব্যবহার করতে পারবেন যা Google Maps Platform-এর পরিষেবার শর্তাবলী মেনে চলে।

যেমন, Google Maps কন্টেন্ট যাতে আপনার বেছে নেওয়া LLM-এর মাধ্যমে ক্যাশে, স্টোর বা উন্নত করার জন্য ব্যবহার না করা হয়, তা নিশ্চিত করার দায়িত্ব আপনার। Maps Experience এজেন্ট টুল ব্যবহার করার আগে, Maps Experience এজেন্ট টুলের সাথে আপনি যে মডেল ব্যবহার করতে চান, তার পরিষেবার শর্তাবলী আপনাকে পর্যালোচনা করতে হবে। আপনি এমন কোনও মডেলের সাথে Maps Experience এজেন্ট টুল ব্যবহার করবেন না যা কোনও মডেল ট্রেনিং বা উন্নতির জন্য মডেলে ইনপুট করা ডেটা ব্যবহার করে। আপনি এই মডেলটি যেভাবে ব্যবহার করছেন তা Google Maps Platform-এর পরিষেবার শর্তাবলীতে Google Maps কন্টেন্টের উপর বিধিনিষেধের সাথে সম্পূর্ণভাবে সামঞ্জস্যপূর্ণ কিনা তা নিশ্চিত করার দায়িত্ব আপনার। এর মধ্যে পরিষেবা-নির্দিষ্ট শর্তাবলীও অন্তর্ভুক্ত।

Google Maps সোর্সের জন্য অ্যাট্রিবিউশন সংক্রান্ত প্রয়োজনীয়তা

Maps Experience এজেন্ট টুলের প্রতিটি টুল রেসপন্সে সোর্স অন্তর্ভুক্ত থাকে। Maps Experience এজেন্ট টুল থেকে ফলাফল দেখানোর সময়, আপনাকে অবশ্যই সংশ্লিষ্ট Google Maps সোর্স অন্তর্ভুক্ত করতে হবে এবং নিম্নলিখিত প্রয়োজনীয়তা পূরণ করতে হবে:

  • Google Maps সোর্স অবশ্যই জেনারেট করা কন্টেন্টের ঠিক পরেই থাকতে হবে, যা সোর্স সমর্থন করে। এই জেনারেট করা কন্টেন্টকে গ্রাউন্ডেড আউটপুট হিসেবেও উল্লেখ করা হয়।
  • Google Maps সোর্সগুলি অবশ্যই একজন ব্যবহারকারীর ইন্টারঅ্যাকশনের মধ্যে দেখার যোগ্য হতে হবে।

Search places টুলের জন্য সোর্স

search_places টুলের places ফিল্ডে এমন সোর্স দেওয়া থাকে যা summary-কে সমর্থন করে। places-এর জন্য, নিম্নলিখিত মেটাডেটা পাওয়া গেছে:

  • place (রিসোর্সের নাম)
  • id
  • location
  • googleMapsLinks

প্রতিটি জায়গার জন্য, আপনাকে এমন একটি লিঙ্ক প্রিভিউ তৈরি করতে হবে যা এইসব প্রয়োজনীয়তা পূরণ করে:

এইসব প্রয়োজনীয়তা সেইসব সারসংক্ষেপের ক্ষেত্রেও প্রযোজ্য যেগুলিতে Pro থেকে পাওয়া জায়গার বিস্তারিত বিবরণ যেমন রিভিউ থেকে পাওয়া ইনসাইট অন্তর্ভুক্ত থাকে। summary প্রতিটি জায়গাকে শূন্য-ভিত্তিক ইন্ডেক্স দিয়ে উল্লেখ করে, যেমন [0], যা places-এর একটি এন্ট্রিতে ম্যাপ করে। প্রতিটি জায়গার সাথে googleMapsLinks.reviewsUrl অন্তর্ভুক্ত থাকে, যা Google Maps-এ সেই জায়গার রিভিউতে লিঙ্ক করে। ইনসাইটের পিছনে থাকা রিভিউ দেখতে ব্যবহারকারীরা এটি ফলো করতে পারেন।

ভয়েস-ফার্স্ট ইন্টারফেস

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

  • সোর্সিং: Google Maps-এর সোর্সগুলি একটি কম্প্যানিয়ন UI-তে দেখান যা ভয়েস কথোপকথনের একটি হুবহু ঐতিহাসিক রেকর্ড দেখায়।
  • অ্যাক্টিভ ডিসক্লোজার: ইন্টার‍্যাকশনের সময় ব্যবহারকারীকে জানান যে AI-জেনারেটেড কন্টেন্টে Google Maps থেকে পাওয়া তথ্য থাকতে পারে। এছাড়াও, তাদের জানান যে বিস্তারিত সোর্স কম্প্যানিয়ন UI-তে উপলভ্য। আপনি স্ক্রিনে বা ভয়েসের মাধ্যমে এটি করতে পারবেন।
  • স্থায়ী ডিসক্লোজার: স্থায়ী ব্যাখ্যা রাখুন, যেমন ভয়েস সেটিংস মেনুতে, যে AI-জেনারেটেড কন্টেন্টে Google Maps কন্টেন্ট অন্তর্ভুক্ত থাকতে পারে।
  • ব্যবহারকারীর প্রশ্ন: কন্টেন্টের সোর্স সম্পর্কে ব্যবহারকারীর প্রশ্নের সঠিক উত্তর দিন এবং বিস্তারিত জানতে তাদের কম্প্যানিয়ন UI-তে ডাইরেক্ট করুন।

MCP সার্ভার ব্যবহার করার জন্য LLM কনফিগার করা

Maps Experience এজেন্ট টুল ব্যবহার করতে, আপনার একটি Google Cloud প্রোজেক্ট থাকতে হবে যেখানে Maps Experience এজেন্ট টুল API পরিষেবা চালু করা আছে। এছাড়াও, আপনার একটি API কী বা OAuth ক্লায়েন্ট আইডি প্রয়োজন। তারপর, MCP সার্ভার অ্যাক্সেস করার জন্য আপনি LLM কনফিগার করতে পারবেন। MCP সার্ভার স্ট্রিমেবল HTTP ট্রান্সপোর্ট ব্যবহার করে।

আপনার Google Cloud প্রোজেক্টে Maps Experience এজেন্ট টুল চালু করুন

আপনার প্রোজেক্টে API চালু করতে:

  1. Google Cloud Console-এ, Maps Experience এজেন্ট টুলের জন্য আপনি যে প্রোজেক্ট ব্যবহার করতে চান সেটি বেছে নিন।
  2. Google Cloud Console-এ প্রোজেক্টের জন্য বিলিং চালু করুন।
  3. Google Cloud Console API লাইব্রেরি-তে Maps Experience এজেন্ট টুল চালু করুন।

API key ব্যবহার করে যাচাইকরণ করা

আপনি Maps Experience এজেন্ট টুলের সাথে আগে থেকে থাকা API key ব্যবহার করতে অথবা নতুন একটি তৈরি করতে পারবেন। যেকোনও উপায়ে, Google Cloud প্রোজেক্ট ও কী, দুটিতেই Maps Experience এজেন্ট টুল API পরিষেবা চালু করুন।

API key ব্যবহার করে যাচাইকরণ করতে:

  1. Google Maps Platform-এর সাথে শুরু করা-এর ধাপগুলি অনুসরণ করে API কী তৈরি বা কনফিগার করুন।
  2. X-Goog-Api-Key হেডার ব্যবহার করে MCP সার্ভারে 'কী' পাস করুন। আপনাকে LLM-এর MCP টুল কনফিগারেশনে এটি কাস্টম HTTP হেডার হিসেবে উল্লেখ করতে হবে।

OAuth ব্যবহার করে যাচাইকরণ করুন

আপনি OAuth ক্রেডেনশিয়াল তৈরি করে এবং সেগুলি MCP হোস্ট বা MCP সার্ভার অ্যাপ্লিকেশনে পাস করে OAuth ব্যবহার করে যাচাই করতে পারেন।

OAuth ব্যবহার করে যাচাই করতে:

  1. Google Cloud Console-এ, Maps Experience এজেন্ট টুলের জন্য আপনি যে প্রোজেক্ট ব্যবহার করতে চান সেটি বেছে নিন।
  2. API ও পরিষেবা মেনু থেকে ক্রেডেনশিয়াল বিকল্প বেছে নিন।
  3. উপরের মেনু থেকে, ক্রেডেনশিয়াল তৈরি করুন > OAuth ক্লায়েন্ট আইডি বিকল্প বেছে নিন।
  4. প্রজেক্টে কনফিগার করা সম্মতি সংক্রান্ত স্ক্রিন না থাকলে, সম্মতি সংক্রান্ত স্ক্রিন কনফিগার করুন বিকল্পে ক্লিক করে অন-স্ক্রিন নির্দেশাবলী অনুসরণ করুন।
  5. মেট্রিক বিভাগে, OAuth ক্লায়েন্ট তৈরি করুন বিকল্পে ক্লিক করুন।
  6. OAuth ক্লায়েন্ট আইডি তৈরি করুন স্ক্রিনে, অ্যাপ্লিকেশনের ধরন বেছে নিন এবং ক্লায়েন্ট আইডির জন্য একটি নাম লিখুন।
  7. আপনার আবেদনের ধরনের সাথে প্রাসঙ্গিক অতিরিক্ত বিবরণ উল্লেখ করুন। যেমন, আপনি কোনও ওয়েব অ্যাপ্লিকেশন তৈরি করলে, ব্রাউজার ও সার্ভার অনুরোধের জন্য অনুমোদিত URI যোগ করুন।
  8. আপনার ক্লায়েন্ট তৈরি হয়ে গেলে, ক্লায়েন্ট আইডি ও সিক্রেট সেভ করুন।
  9. আপনার MCP হোস্ট বা MCP সার্ভার অ্যাপ্লিকেশন কনফিগার করার সময়, আপনার OAuth ক্লায়েন্ট আইডি ও সিক্রেট পাস করুন। আপনাকে নিম্নলিখিত স্কোপের জন্যও অনুরোধ করতে হবে: https://www.googleapis.com/auth/maps-platform.mapstools.

আরও তথ্যের জন্য, Google API অ্যাক্সেস করতে OAuth 2.0 ব্যবহার করা দেখুন।

Maps Experience এজেন্ট টুল MCP সার্ভার অ্যাক্সেস করতে LLM কনফিগার করা

Maps Experience এজেন্ট টুল পরিষেবা চালু করে ক্রেডেনশিয়াল তৈরি করার পরে, আপনি MCP সার্ভার অ্যাক্সেস করার জন্য LLM কনফিগার করতে পারবেন। আপনার LLM-এর MCP কনফিগারেশন ডকুমেন্টেশন অনুসরণ করুন এবং MCP সার্ভার URL ব্যবহার করুন: https://mapstools.googleapis.com/mcp

আরও তথ্যের জন্য, AI অ্যাপ্লিকেশনে MCP কনফিগার করুন দেখুন।

Gemini CLI-এর মাধ্যমে Maps Experience এজেন্ট টুল কনফিগার করা

এই বিভাগে Gemini CLI ব্যবহার করে Maps Experience এজেন্ট টুল MCP সার্ভার কীভাবে কনফিগার করতে হয় তার উদাহরণ দেওয়া হয়েছে। আরও জানতে, Gemini CLI-এর সাথে MCP সার্ভার দেখুন।

  1. Gemini CLI ইনস্টল করার পরে, MCP সার্ভার কনফিগার করতে gemini mcp add রান করুন:

    gemini mcp add -s user -t http -H 'X-Goog-Api-Key: API_KEY' maps-experience-agent-tools-mcp https://mapstools.googleapis.com/mcp
    

    কনফিগারেশন সফল হলে, আপনার ব্যবহারকারী সেটিংসে সার্ভার যোগ করা হয়েছে বলে একটি কনফার্মেশন দেখতে পাবেন।

  2. সার্ভার সঠিকভাবে কাজ করছে কিনা তা যাচাই করতে, /mcp list কমান্ড রান করুন:

    > /mcp list
    
    Configured MCP servers:
    
    maps-experience-agent-tools-mcp - Ready (5 tools)
    Tools:
    -   compute_routes
    -   lookup_weather
    -   resolve_maps_urls
    -   resolve_names
    -   search_places
    
  3. CLI-এর মাধ্যমে Maps সম্পর্কিত প্রশ্ন জিজ্ঞাসা করা শুরু করুন। যেমন, "আমাকে Mountain View-এর কিছু রেস্তোরাঁর সাজেশন দাও" বলে দেখুন, যা আপনার হয়ে search_places টুলকে কল করবে।

Agent Development Kit (ADK) ব্যবহার করে Maps Experience এজেন্ট টুল কনফিগার করা

এই বিভাগটি দেখায় যে কীভাবে Python, Java বা TypeScript-এ Agent Development Kit (ADK)-এর সাথে MCP সার্ভার কনফিগার করতে হয়।

Python

আপনি GitHub-এ adk-samples রিপোজিটরি-তে এই উদাহরণের সম্পূর্ণ প্রয়োগ দেখতে পাবেন।

ধাপ ১: Maps Experience এজেন্ট টুলের জন্য McpToolset-এর মাধ্যমে আপনার এজেন্টকে সংজ্ঞায়িত করুন

আপনার agent.py ফাইল পরিবর্তন করুন। YOUR_GOOGLE_MAPS_API_KEY-এর জায়গায় আপনার আসল API key লিখুন।

# ./adk_agent_samples/mcp_agent/agent.py
import os
from google.adk.agents.llm_agent import Agent
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPConnectionParams

# Retrieve the API key from an environment variable or directly insert it.
GOOGLE_MAPS_API_KEY = os.getenv("GOOGLE_MAPS_API_KEY")
if not GOOGLE_MAPS_API_KEY:
    GOOGLE_MAPS_API_KEY = "YOUR_GOOGLE_MAPS_API_KEY_HERE"

if GOOGLE_MAPS_API_KEY == "YOUR_GOOGLE_MAPS_API_KEY_HERE":
    print("WARNING: GOOGLE_MAPS_API_KEY is not set.")

root_agent = Agent(
    model='gemini-flash-latest',
    name='travel_planner_agent',
    description='A helpful assistant for planning travel routes.',
    tools=[
        McpToolset(
            connection_params=StreamableHTTPConnectionParams(
                url="https://mapstools.googleapis.com/mcp",
                headers={
                    "X-Goog-Api-Key": GOOGLE_MAPS_API_KEY,
                    "Content-Type": "application/json",
                    "Accept": "application/json, text/event-stream"
                }
            )
        )
    ]
)
    
ধাপ ২: __init__.py আছে কিনা তা নিশ্চিত করুন

আপনার agent.py-এর মতো একই ডিরেক্টরিতে __init__.py আছে কিনা তা নিশ্চিত করুন:

from . import agent
    
ধাপ ৩: adk web রান ও ইন্টার‌্যাক্ট করা
  1. এনভায়রনমেন্ট ভেরিয়েবল সেট করা:
    আপনার Google Maps API কী আপনার টার্মিনালে এনভায়রনমেন্ট ভেরিয়েবল হিসেবে সেট করুন:
    export GOOGLE_MAPS_API_KEY="YOUR_ACTUAL_GOOGLE_MAPS_API_KEY"
            
  2. adk web রান করুন:
    ADK ওয়েব ইন্টারফেস চালু করতে নিম্নলিখিত কমান্ড রান করুন:
    adk web
            
  3. UI-তে ইন্টার‍্যাক্ট করুন:
    • travel_planner_agent বেছে নিন।
    • এই ধরনের প্রম্পট ব্যবহার করে দেখুন:
      • "আমি আগামীকাল সান ফ্রান্সিসকোতে থাকব। আবহাওয়া কেমন?"
      • "গোল্ডেন গেট পার্কের কাছাকাছি কফি শপ খোঁজো।"
      • "GooglePlex থেকে SFO যাওয়ার দিকনির্দেশ দাও।"

Java

Java-তে McpToolset শুরু করে এমন একটি এজেন্টকে সংজ্ঞায়িত করুন। আপনি এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার না করলে, YOUR_GOOGLE_MAPS_API_KEY_HERE-এর জায়গায় আপনার পাওয়া আসল API কী লিখুন।

package agents;

import com.google.adk.agents.LlmAgent;
import com.google.adk.runner.InMemoryRunner;
import com.google.adk.sessions.SessionKey;
import com.google.adk.tools.mcp.McpToolset;
import com.google.adk.tools.mcp.StreamableHttpServerParameters;
import com.google.genai.types.Content;
import com.google.genai.types.Part;
import java.util.HashMap;
import java.util.Map;

public class MapsAgentCreator {
    public static void main(String[] args) {
        String googleMapsApiKey = System.getenv("GOOGLE_MAPS_API_KEY");
        if (googleMapsApiKey == null || googleMapsApiKey.trim().isEmpty()) {
            googleMapsApiKey = "YOUR_GOOGLE_MAPS_API_KEY_HERE";
            if ("YOUR_GOOGLE_MAPS_API_KEY_HERE".equals(googleMapsApiKey)) {
                System.out.println("WARNING: GOOGLE_MAPS_API_KEY is not set.");
            }
        }

        Map<String, String> headers = new HashMap<>();
        headers.put("X-Goog-Api-Key", googleMapsApiKey);
        headers.put("Content-Type", "application/json");
        headers.put("Accept", "application/json, text/event-stream");

        StreamableHttpServerParameters serverParams =
                StreamableHttpServerParameters.builder("https://mapstools.googleapis.com/mcp")
                        .headers(headers)
                        .build();

        try (McpToolset toolset = new McpToolset(serverParams)) {
            LlmAgent agent = LlmAgent.builder()
                    .model("gemini-flash-latest")
                    .name("travel_planner_agent")
                    .description("A helpful assistant for planning travel routes.")
                    .tools(toolset)
                    .build();

            System.out.println("Agent created: " + agent.name());

            InMemoryRunner runner = new InMemoryRunner(agent);
            String userId = "maps-user-" + System.currentTimeMillis();
            String sessionId = "maps-session-" + System.currentTimeMillis();
            String promptText =
                    "Please give me directions to the nearest pharmacy to Madison Square Garden.";

            SessionKey sessionKey = runner.sessionService()
                    .createSession(runner.appName(), userId, null, sessionId)
                    .blockingGet()
                    .sessionKey();
            System.out.println("Session created: " + sessionId + " for user: " + userId);

            Content promptContent = Content.fromParts(Part.fromText(promptText));
            System.out.println("\nSending prompt: \"" + promptText + "\" to agent...\n");

            runner.runAsync(sessionKey, promptContent)
                    .blockingForEach(event -> {
                        System.out.println("Event received: " + event.toJson());
                    });
        } catch (Exception e) {
            System.err.println("An error occurred: " + e.getMessage());
            e.printStackTrace();
        }
    }
}
    

TypeScript

TypeScript-এ MCPToolset ইনিশিয়ালাইজ করে এমন এজেন্টকে সংজ্ঞায়িত করুন:

import 'dotenv/config';
import {LlmAgent, MCPToolset} from "@google/adk";

const googleMapsApiKey = process.env.GOOGLE_MAPS_API_KEY;
if (!googleMapsApiKey) {
    console.warn("WARNING: GOOGLE_MAPS_API_KEY is not set.");
    throw new Error(
        'GOOGLE_MAPS_API_KEY is not provided, please run "export GOOGLE_MAPS_API_KEY=YOUR_ACTUAL_KEY" to add that.'
    );
}

export const rootAgent = new LlmAgent({
    model: "gemini-flash-latest",
    name: "travel_planner_agent",
    description: "A helpful assistant for planning travel.",
    tools: [
        new MCPToolset({
            type: "SseConnectionParams",
            url: "https://mapstools.googleapis.com/mcp",
            headers: {
                "X-Goog-Api-Key": googleMapsApiKey,
                "Content-Type": "application/json",
                "Accept": "application/json, text/event-stream"
            }
        })
    ],
});
    

মতামত শেয়ার করা হচ্ছে

Maps Experience এজেন্ট টুল সম্পর্কে মতামত শেয়ার করতে, নিম্নলিখিত ফর্ম ব্যবহার করুন: