URL context

Mjeti i kontekstit URL 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'i qaset përmbajtjes nga ato faqe (për sa kohë që nuk është një lloj URL 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ë:

  • Ekstraktoni të dhënat : Tërhiqni informacione specifike si çmimet, emrat ose gjetjet kryesore nga URL të shumta.
  • Krahasoni dokumentet : Analizoni raporte të shumta, artikuj ose PDF për të identifikuar dallimet dhe për të ndjekur tendencat.
  • Sintetizoni dhe krijoni përmbajtje : Kombinoni informacione nga disa URL burimore për të gjeneruar përmbledhje të sakta, postime në blog ose raporte.
  • Analizoni kodin dhe dokumentet : Drejtoni një depo GitHub ose dokumentacionin 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ë krahasoni 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();

PUSHIMI

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 URL përdor një proces rikthimi me dy hapa për të balancuar shpejtësinë, koston dhe aksesin në të dhëna të freskëta. Kur jepni një URL, mjeti fillimisht përpiqet të marrë përmbajtjen nga një memorie e brendshme e indeksit. Kjo vepron si një cache shumë e optimizuar. Nëse një URL nuk është e disponueshme në indeks (për shembull, nëse është një faqe shumë e re), mjeti kthehet automatikisht për të bërë një tërheqje të drejtpërdrejtë. Kjo akseson drejtpërdrejt URL-në për të marrë përmbajtjen e saj në kohë reale.

Ju mund të kombinoni mjetin e kontekstit të URL-së me mjete të tjera për të krijuar flukse pune më të fuqishme.

Kur janë të aktivizuara si konteksti i URL-së, ashtu edhe "Bashkimi me Google Search" , modeli mund të përdorë aftësitë e tij të kërkimit për të gjetur informacione përkatëse në internet dhe më pas të përdorë veglën e kontekstit të URL-së për të marrë një kuptim më të thellë të faqeve që gjen. Kjo qasje është e fuqishme për kërkesat që kërkojnë kërkim të gjerë dhe 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();

PUSHIMI

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 liston URL-të nga të cilat modeli ka marrë përmbajtjen dhe statusin e çdo përpjekjeje rikthimi, e cila është e dobishme për verifikimin dhe korrigjimin e gabimeve.

Më poshtë është një shembull i asaj pjese të përgjigjes (pjesë të përgjigjes janë hequr 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 UrlContextMetadata API .

Kontrollet e sigurisë

Sistemi kryen një kontroll të moderimit të përmbajtjes në URL për të konfirmuar se ato përmbushin standardet e sigurisë. Nëse URL-ja që keni dhënë dështon në këtë kontroll, do të merrni një url_retrieval_statusURL_RETRIEVAL_STATUS_UNSAFE .

Numri i shenjave

Përmbajtja e marrë nga URL-të që specifikoni në kërkesën tuaj llogaritet si pjesë e shenjave hyrëse. Ju mund të shihni numrin e shenjave për përdorimin tuaj të kërkesës dhe mjeteve në objektin usage_metadata të prodhimit të modelit. Më poshtë është një shembull i prodhimit:

'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 shenjë varet nga modeli i përdorur, shikoni faqen e çmimeve për detaje.

Modelet e mbështetura

Praktikat më të mira

  • Siguroni URL specifike : Për rezultatet më të mira, jepni URL të drejtpërdrejta për përmbajtjen që dëshironi të analizojë modeli. Modeli do të marrë përmbajtje vetëm nga URL-të që jepni, jo ndonjë përmbajtje nga lidhjet e ndërlidhura.
  • Kontrolloni për aksesueshmërinë : Verifikoni që URL-të që jepni të mos çojnë në faqe që kërkojnë hyrje ose janë prapa një muri pagesash.
  • 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).

Kufizimet

  • Çmimi : Përmbajtja e marrë nga URL-të llogaritet si shenja hyrëse. Kufiri i tarifës dhe çmimi bazohen në modelin e përdorur. Shikoni kufijtë e tarifave dhe faqet e çmimeve për detaje.
  • Kufiri i kërkesës : 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ë 34 MB.

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)
  • Imazhi (imazh/png, imazh/jpeg, imazh/bmp, imazh/webp)
  • PDF (aplikacion/pdf)

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

  • Përmbajtja me murin e pagesës
  • Videot në YouTube (Shihni kuptimin e videos për të mësuar se si të përpunoni URL-të në YouTube)
  • Skedarët e hapësirës së punës të Google si dokumentet ose fletëllogaritësit e Google
  • Skedarët video dhe audio

Çfarë është më pas