URL context

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

ইউআরএল কনটেক্সট টুলটি নিম্নলিখিত কাজগুলোর জন্য উপযোগী:

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

নিচের উদাহরণটিতে দেখানো হয়েছে কীভাবে ভিন্ন ভিন্ন ওয়েবসাইট থেকে দুটি রেসিপির তুলনা করতে হয়।

পাইথন

from google import genai
from google.genai.types import Tool, GenerateContentConfig

client = genai.Client()
model_id = "gemini-3-flash-preview"

tools = [
  {"url_context": {}},
]

url1 = "https://www.foodnetwork.com/recipes/ina-garten/perfect-roast-chicken-recipe-1940592"
url2 = "https://www.allrecipes.com/recipe/21151/simple-whole-roast-chicken/"

response = client.models.generate_content(
    model=model_id,
    contents=f"Compare the ingredients and cooking times from the recipes at {url1} and {url2}",
    config=GenerateContentConfig(
        tools=tools,
    )
)

for each in response.candidates[0].content.parts:
    print(each.text)

# For verification, you can inspect the metadata to see which URLs the model retrieved
print(response.candidates[0].url_context_metadata)

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

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

const ai = new GoogleGenAI({});

async function main() {
  const response = await ai.models.generateContent({
    model: "gemini-3-flash-preview",
    contents: [
        "Compare the ingredients and cooking times from the recipes at https://www.foodnetwork.com/recipes/ina-garten/perfect-roast-chicken-recipe-1940592 and https://www.allrecipes.com/recipe/21151/simple-whole-roast-chicken/",
    ],
    config: {
      tools: [{urlContext: {}}],
    },
  });
  console.log(response.text);

  // For verification, you can inspect the metadata to see which URLs the model retrieved
  console.log(response.candidates[0].urlContextMetadata)
}

await main();

বিশ্রাম

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
      "contents": [
          {
              "parts": [
                  {"text": "Compare the ingredients and cooking times from the recipes at https://www.foodnetwork.com/recipes/ina-garten/perfect-roast-chicken-recipe-1940592 and https://www.allrecipes.com/recipe/21151/simple-whole-roast-chicken/"}
              ]
          }
      ],
      "tools": [
          {
              "url_context": {}
          }
      ]
  }' > result.json

cat result.json

এটি কীভাবে কাজ করে

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

আরও শক্তিশালী ওয়ার্কফ্লো তৈরি করতে আপনি ইউআরএল কনটেক্সট টুলটিকে অন্যান্য টুলের সাথে একত্রিত করতে পারেন।

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

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

পাইথন

from google import genai
from google.genai.types import Tool, GenerateContentConfig, GoogleSearch, UrlContext

client = genai.Client()
model_id = "gemini-3-flash-preview"

tools = [
      {"url_context": {}},
      {"google_search": {}}
  ]

response = client.models.generate_content(
    model=model_id,
    contents="Give me three day events schedule based on YOUR_URL. Also let me know what needs to taken care of considering weather and commute.",
    config=GenerateContentConfig(
        tools=tools,
    )
)

for each in response.candidates[0].content.parts:
    print(each.text)
# get URLs retrieved for context
print(response.candidates[0].url_context_metadata)

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

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

const ai = new GoogleGenAI({});

async function main() {
  const response = await ai.models.generateContent({
    model: "gemini-3-flash-preview",
    contents: [
        "Give me three day events schedule based on YOUR_URL. Also let me know what needs to taken care of considering weather and commute.",
    ],
    config: {
      tools: [
        {urlContext: {}},
        {googleSearch: {}}
        ],
    },
  });
  console.log(response.text);
  // To get URLs retrieved for context
  console.log(response.candidates[0].urlContextMetadata)
}

await main();

বিশ্রাম

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
      "contents": [
          {
              "parts": [
                  {"text": "Give me three day events schedule based on YOUR_URL. Also let me know what needs to taken care of considering weather and commute."}
              ]
          }
      ],
      "tools": [
          {
              "url_context": {}
          },
          {
              "google_search": {}
          }
      ]
  }' > result.json

cat result.json

প্রতিক্রিয়া বোঝা

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

নিম্নলিখিতটি উত্তরের সেই অংশের একটি উদাহরণ (সংক্ষিপ্ততার জন্য উত্তরের কিছু অংশ বাদ দেওয়া হয়েছে):

{
  "candidates": [
    {
      "content": {
        "parts": [
          {
            "text": "... \n"
          }
        ],
        "role": "model"
      },
      ...
      "url_context_metadata": {
        "url_metadata": [
          {
            "retrieved_url": "https://www.foodnetwork.com/recipes/ina-garten/perfect-roast-chicken-recipe-1940592",
            "url_retrieval_status": "URL_RETRIEVAL_STATUS_SUCCESS"
          },
          {
            "retrieved_url": "https://www.allrecipes.com/recipe/21151/simple-whole-roast-chicken/",
            "url_retrieval_status": "URL_RETRIEVAL_STATUS_SUCCESS"
          }
        ]
      }
    }
  ]
}

এই অবজেক্টটি সম্পর্কে সম্পূর্ণ বিস্তারিত জানতে, UrlContextMetadata API রেফারেন্স দেখুন।

নিরাপত্তা পরীক্ষা

সিস্টেমটি ইউআরএলটি নিরাপত্তা মানদণ্ড পূরণ করে কিনা তা নিশ্চিত করার জন্য একটি কন্টেন্ট মডারেশন চেক করে। আপনার দেওয়া ইউআরএলটি যদি এই পরীক্ষায় উত্তীর্ণ না হয়, তাহলে আপনি URL_RETRIEVAL_STATUS_UNSAFE url_retrieval_status পাবেন।

টোকেন সংখ্যা

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

'usage_metadata': {
  'candidates_token_count': 45,
  'prompt_token_count': 27,
  'prompt_tokens_details': [{'modality': <MediaModality.TEXT: 'TEXT'>,
    'token_count': 27}],
  'thoughts_token_count': 31,
  'tool_use_prompt_token_count': 10309,
  'tool_use_prompt_tokens_details': [{'modality': <MediaModality.TEXT: 'TEXT'>,
    'token_count': 10309}],
  'total_token_count': 10412
  }

প্রতিটি টোকেনের মূল্য ব্যবহৃত মডেলের উপর নির্ভর করে, বিস্তারিত জানতে মূল্য তালিকা দেখুন।

সমর্থিত মডেল

মডেল ইউআরএল প্রসঙ্গ
জেমিনি ৩.১ প্রো প্রিভিউ ✔️
জেমিনি ৩.১ ফ্ল্যাশ-লাইট প্রিভিউ ✔️
জেমিনি ৩ ফ্ল্যাশ প্রিভিউ ✔️
জেমিনি ২.৫ প্রো ✔️
জেমিনি ২.৫ ফ্ল্যাশ ✔️
জেমিনি ২.৫ ফ্ল্যাশ-লাইট ✔️

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

  • নির্দিষ্ট URL প্রদান করুন : সর্বোত্তম ফলাফলের জন্য, আপনি মডেলকে যে কন্টেন্ট বিশ্লেষণ করতে চান তার সরাসরি URL প্রদান করুন। মডেলটি শুধুমাত্র আপনার প্রদত্ত URL থেকেই কন্টেন্ট সংগ্রহ করবে, নেস্টেড লিঙ্কের কোনো কন্টেন্ট নয়।
  • অ্যাক্সেসযোগ্যতা যাচাই করুন : নিশ্চিত করুন যে আপনার দেওয়া URL-গুলি এমন কোনো পৃষ্ঠায় নিয়ে যায় না যেখানে লগইন প্রয়োজন অথবা যা পেওয়ালের আড়ালে রয়েছে।
  • সম্পূর্ণ URL ব্যবহার করুন : প্রোটোকল সহ পুরো URL-টি দিন (যেমন, শুধু google.com-এর পরিবর্তে https://www.google.com)।

সীমাবদ্ধতা

  • ফাংশন কলিং: ফাংশন কলিংয়ের সাথে টুলের ব্যবহার (যেমন ইউআরএল কনটেক্সট, গুগল সার্চের মাধ্যমে গ্রাউন্ডিং ইত্যাদি) বর্তমানে সমর্থিত নয়।
  • অনুরোধের সীমা: টুলটি প্রতি অনুরোধে সর্বোচ্চ ২০টি ইউআরএল প্রসেস করতে পারে।
  • ইউআরএল কন্টেন্টের আকার: একটি একক ইউআরএল থেকে প্রাপ্ত কন্টেন্টের সর্বোচ্চ আকার হলো ৩৪ মেগাবাইট।
  • সর্বজনীন প্রবেশগম্যতা: ইউআরএলগুলো অবশ্যই ওয়েবে সর্বজনীনভাবে প্রবেশযোগ্য হতে হবে। লোকালহোস্ট অ্যাড্রেস (যেমন, লোকালহোস্ট, 127.0.0.1), প্রাইভেট নেটওয়ার্ক এবং টানেলিং পরিষেবা (যেমন, এনগ্রোক, পিংগি) সমর্থিত নয়।
  • শুধুমাত্র জেমিনি এপিআই-এর জন্য: ইউআরএল কনটেক্সট শুধুমাত্র জেমিনি এপিআই-তেই পাওয়া যায়, ভার্টেক্স এআই-এর মাধ্যমে নয়।

সমর্থিত এবং অসমর্থিত বিষয়বস্তুর প্রকারভেদ

এই টুলটি নিম্নলিখিত কন্টেন্ট টাইপের ইউআরএলগুলো থেকে বিষয়বস্তু বের করতে পারে:

  • টেক্সট (text/html, application/json, text/plain, text/xml, text/css, text/javascript, text/csv, text/rtf)
  • ছবি (image/png, image/jpeg, image/bmp, image/webp)
  • পিডিএফ (অ্যাপ্লিকেশন/পিডিএফ)

নিম্নলিখিত বিষয়বস্তুর ধরণগুলি সমর্থিত নয় :

  • পেওয়ালযুক্ত বিষয়বস্তু
  • ইউটিউব ভিডিও (ইউটিউব ইউআরএল কীভাবে প্রসেস করতে হয় তা জানতে ভিডিওটির ব্যাখ্যা দেখুন)
  • গুগল ওয়ার্কস্পেস ফাইল যেমন গুগল ডক্স বা স্প্রেডশীট
  • ভিডিও এবং অডিও ফাইল

এরপর কী?