URL context

Mjeti i kontekstit të URL-së ju lejon të ofroni kontekst shtesë për modelet në formën e URL-ve. Duke përfshirë URL-të në kërkesën tuaj, modeli do të qaset në përmbajtjen nga ato faqe (për sa kohë që nuk është një lloj URL-je i listuar në seksionin e kufizimeve ) për të informuar dhe përmirësuar përgjigjen e tij.

Mjeti i kontekstit të URL-së është i dobishëm për detyra si më poshtë:

  • Ekstraktimi i të dhënave : Nxirrni informacione specifike si çmimet, emrat ose gjetjet kryesore nga URL të shumta.
  • Krahasoni Dokumentet : Analizoni raporte, artikuj ose PDF të shumta për të identifikuar ndryshimet dhe për të ndjekur trendet.
  • Synthesize & Create Content : Combine information from several source URLs to generate accurate summaries, blog posts, or reports.
  • Analizoni Kodin dhe Dokumentet : Drejtohuni te një depo GitHub ose dokumentacion teknik për të shpjeguar kodin, për të gjeneruar udhëzime konfigurimi ose për t'iu përgjigjur pyetjeve.

Shembulli i mëposhtëm tregon se si të krahasohen dy receta nga faqe të ndryshme interneti.

Python

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

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

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)

Javascript

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

const ai = new GoogleGenAI({});

async function main() {
  const response = await ai.models.generateContent({
    model: "gemini-2.5-flash",
    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();

PUSHTIM

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash: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

Si funksionon

Mjeti i Kontekstit të URL-së përdor një proces rikuperimi me dy hapa për të balancuar shpejtësinë, koston dhe aksesin në të dhëna të reja. Kur jepni një URL, mjeti së pari përpiqet të marrë përmbajtjen nga një memorje e brendshme e indeksit. Kjo vepron si një memorje e optimizuar shumë. Nëse një URL nuk është e disponueshme në indeks (për shembull, nëse është një faqe shumë e re), mjeti automatikisht kthehet për të bërë një rikuperim të drejtpërdrejtë. Kjo qasje direkte në URL për të marrë përmbajtjen e saj në kohë reale.

Mund ta kombinoni mjetin e kontekstit të URL-së me mjete të tjera për të krijuar rrjedha pune më të fuqishme.

Kur aktivizohen si konteksti i URL-së ashtu edhe Grounding with Google Search , modeli mund të përdorë aftësitë e tij të kërkimit për të gjetur informacione relevante në internet dhe më pas të përdorë mjetin e kontekstit të URL-së për të kuptuar më në thellësi faqet që gjen. Kjo qasje është e fuqishme për kërkesat që kërkojnë si kërkim të gjerë ashtu edhe analizë të thellë të faqeve specifike.

Python

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

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

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)

Javascript

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

const ai = new GoogleGenAI({});

async function main() {
  const response = await ai.models.generateContent({
    model: "gemini-2.5-flash",
    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();

REST

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash: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

Kuptimi i përgjigjes

Kur modeli përdor mjetin e kontekstit URL, përgjigja përfshin një objekt url_context_metadata . Ky objekt rendit URL-të nga të cilat modeli ka marrë përmbajtjen dhe statusin e çdo përpjekjeje për marrjen e informacionit, gjë që është e dobishme për verifikim dhe debugging.

Më poshtë është një shembull i asaj pjese të përgjigjes (pjesë të përgjigjes janë lënë jashtë për shkurtësi):

{
  "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"
          }
        ]
      }
    }
}

Për detaje të plota rreth këtij objekti, shihni referencën e API-t të UrlContextMetadata .

Kontrollet e sigurisë

Sistemi kryen një kontroll moderimi të përmbajtjes në URL për të konfirmuar se ato i plotësojnë standardet e sigurisë. Nëse URL-ja që keni dhënë nuk e kalon këtë kontroll, do të merrni një url_retrieval_status URL_RETRIEVAL_STATUS_UNSAFE .

Numri i tokenëve

Përmbajtja e marrë nga URL-të që specifikoni në kërkesën tuaj llogaritet si pjesë e tokenëve të hyrjes. Mund ta shihni numrin e tokenëve për kërkesën tuaj dhe përdorimin e mjeteve në objektin usage_metadata të rezultatit të modelit. Më poshtë është një shembull rezultati:

'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
  }

Çmimi për token varet nga modeli i përdorur, shihni faqen e çmimeve për detaje.

Modelet e mbështetura

Praktikat më të Mira

  • Jepni URL specifike : Për rezultatet më të mira, jepni URL të drejtpërdrejta për përmbajtjen që dëshironi që modeli të analizojë. Modeli do të nxjerrë vetëm përmbajtje nga URL-të që jepni, jo përmbajtje nga lidhjet e ndërthurura.
  • Kontrolloni për aksesueshmëri : Verifikoni që URL-të që jepni nuk të çojnë në faqe që kërkojnë hyrje ose që ndodhen pas një muri pagese.
  • Përdorni URL-në e plotë : Jepni URL-në e plotë, duke përfshirë protokollin (p.sh., https://www.google.com në vend të vetëm google.com).

Kufizime

  • Thirrja e funksionit: Përdorimi i mjetit (Konteksti i URL-së, Bazamentimi me Kërkimin Google, etj.) me thirrjen e funksionit aktualisht nuk mbështetet.
  • Limiti i kërkesave: Mjeti mund të përpunojë deri në 20 URL për kërkesë.
  • Madhësia e përmbajtjes së URL-së: Madhësia maksimale për përmbajtjen e marrë nga një URL e vetme është 34MB.

Llojet e përmbajtjes së mbështetur dhe të pambështetur

Mjeti mund të nxjerrë përmbajtje nga URL-të me llojet e mëposhtme të përmbajtjes:

  • Tekst (tekst/html, aplikacion/json, tekst/i thjeshtë, tekst/xml, tekst/css, tekst/javascript, tekst/csv, tekst/rtf)
  • Imazh (imazh/png, imazh/jpeg, imazh/bmp, imazh/webp)
  • PDF (aplikacion/pdf)

Llojet e mëposhtme të përmbajtjes nuk mbështeten:

  • Përmbajtje me pagesë
  • Video në YouTube (Shihni videon e të kuptuarit për të mësuar se si të përpunoni URL-të e YouTube)
  • Skedarët e hapësirës së punës së Google si dokumentet ose spreadsheet-et e Google
  • Skedarët video dhe audio

Çfarë vjen më pas