Google Maps দিয়ে গ্রাউন্ডিং

গুগল ম্যাপসের সাথে গ্রাউন্ডিং, জেমিনির জেনারেটিভ ক্ষমতাকে গুগল ম্যাপসের সমৃদ্ধ, তথ্যভিত্তিক এবং হালনাগাদ ডেটার সাথে সংযুক্ত করে। এই ফিচারটি ডেভেলপারদের তাদের অ্যাপ্লিকেশনে সহজেই অবস্থান-সচেতন কার্যকারিতা অন্তর্ভুক্ত করতে সক্ষম করে। যখন কোনো ব্যবহারকারীর কোয়েরির সাথে ম্যাপস ডেটার প্রাসঙ্গিকতা থাকে, তখন জেমিনি মডেলটি গুগল ম্যাপসকে কাজে লাগিয়ে ব্যবহারকারীর নির্দিষ্ট অবস্থান বা সাধারণ এলাকার জন্য প্রাসঙ্গিক, তথ্যগতভাবে সঠিক এবং নতুন উত্তর প্রদান করে।

  • নির্ভুল ও অবস্থান-সচেতন প্রতিক্রিয়া: ভৌগোলিকভাবে সুনির্দিষ্ট অনুসন্ধানের জন্য গুগল ম্যাপসের ব্যাপক ও হালনাগাদ ডেটা ব্যবহার করুন।
  • উন্নততর ব্যক্তিগতকরণ: ব্যবহারকারীর দেওয়া অবস্থানের উপর ভিত্তি করে সুপারিশ এবং তথ্য সাজিয়ে নিন।
  • প্রাসঙ্গিক তথ্য ও উইজেট: তৈরি করা কন্টেন্টের পাশাপাশি ইন্টারেক্টিভ গুগল ম্যাপস উইজেটগুলো রেন্ডার করার জন্য কনটেক্সট টোকেন।

শুরু করুন

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

পাইথন

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3-flash-preview",
    input="What are the best Italian restaurants within a 15-minute walk from here?",
    tools=[{
        "type": "google_maps",
        "latitude": 34.050481,
        "longitude": -118.248526
    }]
)

# Print the model's text response and annotations
for step in interaction.steps:
    if step.type == "model_output":
        for content_block in step.content:
            if content_block.type == "text":
                print(content_block.text)
                if content_block.annotations:
                    print("\nSources:")
                    for annotation in content_block.annotations:
                        if annotation.type == "place_citation":
                            print(f"  - {annotation.name}: {annotation.url}")

জাভাস্ক্রিপ্ট

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({});

async function main() {
  const interaction = await ai.interactions.create({
    model: "gemini-3-flash-preview",
    input: "What are the best Italian restaurants within a 15-minute walk from here?",
    tools: [{
      type: "google_maps",
      latitude: 34.050481,
      longitude: -118.248526
    }]
  });

  // Print the model's text response and annotations
  for (const step of interaction.steps) {
    if (step.type === 'model_output') {
      for (const contentBlock of step.content) {
        if (contentBlock.type === 'text') {
          console.log(contentBlock.text);
          if (contentBlock.annotations) {
            console.log("\nSources:");
            for (const annotation of contentBlock.annotations) {
              if (annotation.type === 'place_citation') {
                console.log(`  - ${annotation.name}: ${annotation.url}`);
              }
            }
          }
        }
      }
    }
  }
}

main();

বিশ্রাম

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gemini-3-flash-preview",
    "input": "What are the best Italian restaurants within a 15-minute walk from here?",
    "tools": [{
      "type": "google_maps",
      "latitude": 34.050481,
      "longitude": -118.248526
    }]
  }'

গুগল ম্যাপস দিয়ে গ্রাউন্ডিং কীভাবে কাজ করে

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

এই প্রক্রিয়ায় সাধারণত অন্তর্ভুক্ত থাকে:

  1. ব্যবহারকারীর জিজ্ঞাসা: একজন ব্যবহারকারী আপনার অ্যাপ্লিকেশনে একটি জিজ্ঞাসা জমা দেন, যেখানে ভৌগোলিক প্রসঙ্গও অন্তর্ভুক্ত থাকতে পারে (যেমন, "আমার কাছাকাছি কফি শপ," "সান ফ্রান্সিসকোর জাদুঘর")।
  2. টুলের ব্যবহার: জেমিনি মডেলটি ভৌগোলিক উদ্দেশ্য শনাক্ত করে ‘গ্রাউন্ডিং উইথ গুগল ম্যাপস’ টুলটি চালু করে। এই টুলটিতে ঐচ্ছিকভাবে ব্যবহারকারীর latitude এবং longitude প্রদান করা যেতে পারে। টুলটি একটি টেক্সচুয়াল সার্চ টুল এবং এটি ম্যাপসে সার্চ করার মতোই কাজ করে, যেখানে স্থানীয় অনুসন্ধানের ("আমার কাছাকাছি") জন্য স্থানাঙ্ক ব্যবহার করা হয়, কিন্তু নির্দিষ্ট বা অস্থানীয় অনুসন্ধানের ক্ষেত্রে সুস্পষ্ট অবস্থান দ্বারা প্রভাবিত হওয়ার সম্ভাবনা কম।
  3. ডেটা পুনরুদ্ধার: ‘গ্রাউন্ডিং উইথ গুগল ম্যাপস’ পরিষেবাটি প্রাসঙ্গিক তথ্যের (যেমন, স্থান, পর্যালোচনা, ছবি, ঠিকানা, খোলার সময়) জন্য গুগল ম্যাপস-এ অনুসন্ধান করে।
  4. ভিত্তিভিত্তিক উৎপাদন: সংগৃহীত ম্যাপস ডেটা জেমিনি মডেলের প্রতিক্রিয়াকে অবহিত করতে ব্যবহৃত হয়, যা তথ্যগত নির্ভুলতা এবং প্রাসঙ্গিকতা নিশ্চিত করে।
  5. প্রতিক্রিয়া ও টীকা: মডেলটি গুগল ম্যাপস সোর্সের সাথে লিঙ্ক করা ইনলাইন টীকা সহ একটি টেক্সট প্রতিক্রিয়া প্রদান করে, যা ডেভেলপারদের উদ্ধৃতি প্রদর্শন করতে এবং ঐচ্ছিকভাবে একটি প্রাসঙ্গিক গুগল ম্যাপস উইজেট রেন্ডার করার সুযোগ দেয়।

কেন এবং কখন গুগল ম্যাপসের সাথে গ্রাউন্ডিং ব্যবহার করবেন

যেসব অ্যাপ্লিকেশনে নির্ভুল, হালনাগাদ এবং অবস্থান-নির্দিষ্ট তথ্যের প্রয়োজন হয়, সেগুলোর জন্য গুগল ম্যাপস গ্রাউন্ডিং একটি আদর্শ সমাধান। এটি বিশ্বজুড়ে ২৫ কোটিরও বেশি স্থানের গুগল ম্যাপসের বিশাল ডেটাবেসের ওপর ভিত্তি করে প্রাসঙ্গিক ও ব্যক্তিগতকৃত কন্টেন্ট সরবরাহ করে ব্যবহারকারীর অভিজ্ঞতাকে উন্নত করে।

আপনার অ্যাপ্লিকেশনের যখন নিম্নলিখিত প্রয়োজনগুলো থাকে, তখন আপনার গ্রাউন্ডিং উইথ গুগল ম্যাপস ব্যবহার করা উচিত:

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

গুগল ম্যাপস ব্যবহারের ক্ষেত্রে বিশেষভাবে কার্যকর, বিশেষ করে যখন নৈকট্য এবং সাম্প্রতিক বাস্তব তথ্য অপরিহার্য হয়, যেমন 'আমার কাছাকাছি সেরা কফি শপ' খোঁজা বা দিকনির্দেশনা পাওয়া।

ব্যবহারের ক্ষেত্র

গুগল ম্যাপসের সাথে গ্রাউন্ডিং বিভিন্ন ধরনের অবস্থান-সচেতন ব্যবহারের ক্ষেত্রকে সমর্থন করে।

স্থান-নির্দিষ্ট প্রশ্ন পরিচালনা করা

গুগল ব্যবহারকারীদের রিভিউ এবং অন্যান্য ম্যাপ ডেটার উপর ভিত্তি করে উত্তর পেতে কোনো নির্দিষ্ট স্থান সম্পর্কে বিস্তারিত প্রশ্ন করুন।

পাইথন

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3-flash-preview",
    input="Is there a cafe near the corner of 1st and Main that has outdoor seating?",
    tools=[{
        "type": "google_maps",
        "latitude": 34.050481,
        "longitude": -118.248526
    }]
)

for step in interaction.steps:
    if step.type == "model_output":
        for content_block in step.content:
            if content_block.type == "text":
                print(content_block.text)
                if content_block.annotations:
                    print("\nSources:")
                    for annotation in content_block.annotations:
                        if annotation.type == "place_citation":
                            print(f"  - {annotation.name}: {annotation.url}")

জাভাস্ক্রিপ্ট

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({});

async function main() {
  const interaction = await ai.interactions.create({
    model: "gemini-3-flash-preview",
    input: "Is there a cafe near the corner of 1st and Main that has outdoor seating?",
    tools: [{
      type: "google_maps",
      latitude: 34.050481,
      longitude: -118.248526
    }]
  });

  for (const step of interaction.steps) {
    if (step.type === 'model_output') {
      for (const contentBlock of step.content) {
        if (contentBlock.type === 'text') {
          console.log(contentBlock.text);
          if (contentBlock.annotations) {
            console.log("\nSources:");
            for (const annotation of contentBlock.annotations) {
              if (annotation.type === 'place_citation') {
                console.log(`  - ${annotation.name}: ${annotation.url}`);
              }
            }
          }
        }
      }
    }
  }
}

main();

অবস্থান-ভিত্তিক ব্যক্তিগতকরণ প্রদান করা

ব্যবহারকারীর পছন্দ এবং একটি নির্দিষ্ট ভৌগোলিক এলাকা অনুযায়ী সুপারিশ পান।

পাইথন

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3-flash-preview",
    input="Which family-friendly restaurants near here have the best playground reviews?",
    tools=[{
        "type": "google_maps",
        "latitude": 30.2672,
        "longitude": -97.7431
    }]
)

for step in interaction.steps:
    if step.type == "model_output":
        for content_block in step.content:
            if content_block.type == "text":
                print(content_block.text)
                if content_block.annotations:
                    print("\nSources:")
                    for annotation in content_block.annotations:
                        if annotation.type == "place_citation":
                            print(f"  - {annotation.name}: {annotation.url}")

জাভাস্ক্রিপ্ট

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({});

async function main() {
  const interaction = await ai.interactions.create({
    model: "gemini-3-flash-preview",
    input: "Which family-friendly restaurants near here have the best playground reviews?",
    tools: [{
      type: "google_maps",
      latitude: 30.2672,
      longitude: -97.7431
    }]
  });

  for (const step of interaction.steps) {
    if (step.type === 'model_output') {
      for (const contentBlock of step.content) {
        if (contentBlock.type === 'text') {
          console.log(contentBlock.text);
          if (contentBlock.annotations) {
            console.log("\nSources:");
            for (const annotation of contentBlock.annotations) {
              if (annotation.type === 'place_citation') {
                console.log(`  - ${annotation.name}: ${annotation.url}`);
              }
            }
          }
        }
      }
    }
  }
}

main();

ভ্রমণসূচী পরিকল্পনায় সহায়তা করা

বিভিন্ন স্থানের দিকনির্দেশনা ও তথ্যসহ বহু-দিনের পরিকল্পনা তৈরি করুন, যা ভ্রমণ অ্যাপ্লিকেশনের জন্য উপযুক্ত।

পাইথন

from google import genai

client = genai.Client()

prompt = "Plan a day in San Francisco for me. I want to see the Golden Gate Bridge, visit a museum, and have a nice dinner."

interaction = client.interactions.create(
    model="gemini-3-flash-preview",
    input=prompt,
    tools=[{
        "type": "google_maps",
        "latitude": 37.78193,
        "longitude": -122.40476,
        "enable_widget": True
    }]
)
# ... code to process response and widget token

জাভাস্ক্রিপ্ট

const interaction = await client.interactions.create({
    model: 'gemini-3-flash-preview',
    input: 'Plan a day in San Francisco for me. I want to see the Golden Gate Bridge, visit a museum, and have a nice dinner.',
    tools: [{
      type: "google_maps",
      latitude: 37.78193,
      longitude: -122.40476,
      enableWidget: true
    }],
});

বিশ্রাম

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gemini-3-flash-preview",
    "input": "Plan a day in San Francisco for me. I want to see the Golden Gate Bridge, visit a museum, and have a nice dinner.",
    "tools": [{
      "type": "google_maps",
      "latitude": 37.78193,
      "longitude": -122.40476,
      "enable_widget": true
    }]
  }'

পরিষেবা ব্যবহারের প্রয়োজনীয়তা

এই বিভাগে গ্রাউন্ডিং উইথ গুগল ম্যাপস-এর জন্য পরিষেবা ব্যবহারের প্রয়োজনীয়তা বর্ণনা করা হয়েছে।

গুগল ম্যাপস উৎসের ব্যবহার সম্পর্কে ব্যবহারকারীকে অবহিত করুন।

প্রতিটি Google Maps Grounded ফলাফলের সাথে, আপনি model_output ধাপের কন্টেন্ট ব্লকগুলিতে সোর্স অ্যানোটেশন পাবেন যা প্রতিটি প্রতিক্রিয়াকে সমর্থন করে। নিম্নলিখিত মেটাডেটা ফেরত দেওয়া হয়:

  • উৎস ইউআরএল
  • নাম

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

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

গুগল ম্যাপস লিঙ্ক সহ গুগল ম্যাপস উৎসগুলি প্রদর্শন করুন

প্রতিটি উৎস টীকার জন্য, নিম্নলিখিত শর্তাবলী অনুসরণ করে একটি লিঙ্ক প্রিভিউ তৈরি করতে হবে:

  • Google Maps-এর টেক্সট অ্যাট্রিবিউশন নির্দেশিকা অনুসরণ করে প্রতিটি উৎসের কৃতিত্ব Google Maps-কে দিন।
  • প্রতিক্রিয়ায় প্রদত্ত উৎসের নামটি প্রদর্শন করুন।
  • অ্যানোটেশন থেকে পাওয়া url ব্যবহার করে উৎসের সাথে লিঙ্ক করুন।

গুগল ম্যাপস টেক্সট অ্যাট্রিবিউশন নির্দেশিকা

টেক্সটে গুগল ম্যাপস-এর উৎস উল্লেখ করার সময় এই নির্দেশিকাগুলো অনুসরণ করুন:

  • Google Maps লেখাটি কোনোভাবেই পরিবর্তন করবেন না:
    • Google Maps-এর নামের প্রথম অক্ষরের আকার পরিবর্তন করবেন না।
    • গুগল ম্যাপস একাধিক লাইনে জড়াবেন না।
    • গুগল ম্যাপসকে অন্য কোনো ভাষায় স্থানীয়করণ করবেন না।
    • HTML অ্যাট্রিবিউট translate="no" ব্যবহার করে ব্রাউজারকে গুগল ম্যাপস অনুবাদ করা থেকে বিরত রাখুন।

আমাদের কিছু গুগল ম্যাপস ডেটা সরবরাহকারী এবং তাদের লাইসেন্সের শর্তাবলী সম্পর্কে আরও তথ্যের জন্য, গুগল ম্যাপস এবং গুগল আর্থ-এর আইনি বিজ্ঞপ্তিগুলো দেখুন।

সর্বোত্তম অনুশীলন

  • ব্যবহারকারীর অবস্থান জানান: সবচেয়ে প্রাসঙ্গিক এবং ব্যক্তিগতকৃত প্রতিক্রিয়া পাওয়ার জন্য, ব্যবহারকারীর অবস্থান জানা থাকলে আপনার google_maps টুলের কনফিগারেশনে সর্বদা latitude এবং longitude অন্তর্ভুক্ত করুন।
  • গুগল ম্যাপস কনটেক্সচুয়াল উইজেট রেন্ডার করুন: কনটেক্সচুয়াল উইজেটটি কনটেক্সট টোকেন, google_maps_widget_context_token ব্যবহার করে রেন্ডার করা হয়, যা জেমিনি এপিআই রেসপন্সে ফেরত আসে এবং গুগল ম্যাপস থেকে ভিজ্যুয়াল কন্টেন্ট রেন্ডার করতে ব্যবহার করা যেতে পারে।
  • ব্যবহারকারীদের জানান: আপনার ব্যবহারকারীদের স্পষ্টভাবে জানান যে তাদের জিজ্ঞাসার উত্তর দিতে গুগল ম্যাপসের ডেটা ব্যবহার করা হচ্ছে, বিশেষ করে যখন টুলটি সক্রিয় করা থাকে।
  • অপ্রয়োজনে বন্ধ রাখুন: গুগল ম্যাপসের সাথে গ্রাউন্ডিং ডিফল্টরূপে বন্ধ থাকে। পারফরম্যান্স এবং খরচ অপ্টিমাইজ করার জন্য, শুধুমাত্র তখনই এটি ( "tools": [{"type": "google_maps"}] ) চালু করুন, যখন কোনো কোয়েরির একটি স্পষ্ট ভৌগোলিক প্রেক্ষাপট থাকে।

সীমাবদ্ধতা

  • গুগল ম্যাপস ব্যবহার করে গ্রাউন্ডিং বর্তমানে শুধুমাত্র ইংরেজি ভাষার নির্দেশ ও প্রতিক্রিয়া সমর্থন করে।
  • এই টুলটি সব অঞ্চলে উপলব্ধ নাও হতে পারে।
  • অবস্থানের নির্ভুলতা এবং উপলব্ধ মানচিত্রের তথ্যের উপর ভিত্তি করে ফলাফল ভিন্ন হতে পারে।
  • ভৌগোলিক পরিধি: গুগল ম্যাপস ব্যবহার করে গ্রাউন্ডিং বিশ্বব্যাপী উপলব্ধ।
  • ডিফল্ট অবস্থা: ‘গ্রাউন্ডিং উইথ গুগল ম্যাপস’ টুলটি ডিফল্টরূপে বন্ধ থাকে। আপনাকে অবশ্যই আপনার এপিআই অনুরোধগুলিতে এটি স্পষ্টভাবে সক্রিয় করতে হবে।

মূল্য নির্ধারণ এবং হারের সীমা

গুগল ম্যাপস গ্রাউন্ডিং-এর মূল্য কোয়েরির উপর ভিত্তি করে নির্ধারিত হয়। বর্তমান রেট হলো প্রতি ১০০০ গ্রাউন্ডেড প্রম্পটের জন্য ২৫ ডলার । ফ্রি টিয়ারে প্রতিদিন ৫০০টি পর্যন্ত রিকোয়েস্ট করার সুযোগও রয়েছে। একটি রিকোয়েস্ট তখনই কোটার মধ্যে গণনা করা হয়, যখন একটি প্রম্পট সফলভাবে অন্তত একটি গুগল ম্যাপস গ্রাউন্ডেড রেজাল্ট (অর্থাৎ, যে রেজাল্টে অন্তত একটি গুগল ম্যাপস সোর্স থাকে) ফেরত দেয়। যদি একটিমাত্র রিকোয়েস্ট থেকে গুগল ম্যাপস-এ একাধিক কোয়েরি পাঠানো হয়, তবে তা রেট লিমিটের ক্ষেত্রে একটি রিকোয়েস্ট হিসেবে গণ্য হবে।

মূল্য সংক্রান্ত বিস্তারিত তথ্যের জন্য, জেমিনি এপিআই মূল্য তালিকা পৃষ্ঠাটি দেখুন।

সমর্থিত মডেল

নিম্নলিখিত মডেলগুলো গুগল ম্যাপস-এর গ্রাউন্ডিং সমর্থন করে:

মডেল গুগল ম্যাপস দিয়ে গ্রাউন্ডিং
জেমিনি ৩.১ প্রো প্রিভিউ ✔️
জেমিনি ৩.১ ফ্ল্যাশ-লাইট ✔️
জেমিনি ৩.১ ফ্ল্যাশ-লাইট প্রিভিউ ✔️
জেমিনি ৩ ফ্ল্যাশ প্রিভিউ ✔️
জেমিনি ২.৫ প্রো ✔️
জেমিনি ২.৫ ফ্ল্যাশ ✔️
জেমিনি ২.৫ ফ্ল্যাশ-লাইট ✔️
জেমিনি ২.০ ফ্ল্যাশ ✔️

সমর্থিত টুল সংমিশ্রণ

জেমিনি ৩ মডেলগুলো বিল্ট-ইন টুল (যেমন গুগল ম্যাপস সহ গ্রাউন্ডিং) এবং কাস্টম টুল (ফাংশন কলিং) একত্রিত করা সমর্থন করে। টুল কম্বিনেশন পেজে এ বিষয়ে আরও জানুন।

এরপর কী?