Contesto URL

Puoi utilizzare lo strumento di contesto URL per fornire a Gemini gli URL come contesto aggiuntivo per il prompt. Il modello può quindi recuperare i contenuti dagli URL e utilizzarli per informare e modellare la risposta.

Questo strumento è utile per attività come le seguenti:

  • Estrarre punti dati chiave o argomenti di discussione dagli articoli
  • Confrontare le informazioni su più link
  • Sintetizzare i dati da più fonti
  • Rispondere alle domande in base ai contenuti di una o più pagine specifiche
  • Analizzare i contenuti per scopi specifici (ad esempio scrivere una descrizione del lavoro o creare domande di test)

Tieni presente che l'indice utilizzato per estrarre i dati potrebbe non essere aggiornato, quindi alcune informazioni potrebbero essere obsolete.

Questa guida spiega come utilizzare lo strumento di contesto URL nell'API Gemini in Vertex AI.

Modelli supportati

I seguenti modelli forniscono il supporto per il contesto URL:

Utilizzare il contesto URL

Puoi utilizzare lo strumento di contesto URL in due modi principali: da solo o in combinazione con il grounding con la Ricerca Google.

Solo contesto URL

Puoi fornire URL specifici che vuoi che il modello analizzi direttamente nel prompt:

Summarize this document: YOUR_URLs

Extract the key features from the product description on this page: YOUR_URLs

Python

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

client = genai.Client(http_options=HttpOptions(api_version="v1"))
model_id = "gemini-2.5-flash"

url_context_tool = Tool(
    url_context = UrlContext
)

response = client.models.generate_content(
    model=model_id,
    contents="Compare recipes from YOUR_URL1 and YOUR_URL2",
    config=GenerateContentConfig(
        tools=[url_context_tool],
        response_modalities=["TEXT"],
    )
)

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

Javascript

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_VERTEXAI=True
import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({
  vertexai: true,
  project: process.env.GOOGLE_CLOUD_PROJECT,
  location: process.env.GOOGLE_CLOUD_LOCATION,
  apiVersion: 'v1',
});

async function main() {
  const response = await ai.models.generateContent({
    model: "gemini-2.5-flash",
    contents: [
        "Compare recipes from YOUR_URL1 and YOUR_URL2",
    ],
    config: {
      tools: [{urlContext: {}}],
    },
  });
  console.log(response.text);
  // To get URLs retrieved for context
  console.log(response.candidates[0].urlContextMetadata)
}

await main();

REST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  https://aiplatform.googleapis.com/v1beta1/projects/GOOGLE_CLOUD_PROJECT/locations/global/publishers/google/models/gemini-2.5-flash:generateContent \
  -d '{
      "contents": [
          {
              "role": "user",
              "parts": [
                  {"text": "Compare recipes from YOUR_URL1 and YOUR_URL2"}
              ]
          }
      ],
      "tools": [
          {
              "url_context": {}
          }
      ]
  }' > result.json

cat result.json

Grounding con la Ricerca Google con contesto URL

Puoi anche attivare sia il contesto URL sia il grounding con la Ricerca Google, utilizzando prompt con o senza URL. Il modello potrebbe prima cercare informazioni pertinenti e poi utilizzare lo strumento di contesto URL per leggere i contenuti dei risultati di ricerca per una comprensione più approfondita.

Questa funzionalità è sperimentale ed è disponibile nella versione dell'API v1beta1.

Prompt di esempio:

Give me a three day event schedule based on YOUR_URL. Also let me know what needs to taken care of considering weather and commute.

Recommend 3 books for beginners to read to learn more about the latest YOUR_SUBJECT.

Python

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

client = genai.Client(http_options=HttpOptions(api_version="v1beta1"))
model_id = "gemini-2.5-flash"

tools = []
tools.append(Tool(url_context=UrlContext))
tools.append(Tool(google_search=GoogleSearch))

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,
        response_modalities=["TEXT"],
    )
)

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

Javascript

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_VERTEXAI=True
import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({
  vertexai: true,
  project: process.env.GOOGLE_CLOUD_PROJECT,
  location: process.env.GOOGLE_CLOUD_LOCATION,
  apiVersion: 'v1beta1',
});

async function main() {
  const response = await ai.models.generateContent({
    model: "gemini-2.5-flash",
    contents: [
        "Give me a three day event 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 -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  https://aiplatform.googleapis.com/v1beta1/projects/GOOGLE_CLOUD_PROJECT/locations/global/publishers/google/models/gemini-2.5-flash:generateContent \
  -d '{
      "contents": [
          {
              "role": "user",
              "parts": [
                  {"text": "Give me a three day event 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

Per maggiori dettagli sul grounding con la Ricerca Google, consulta la pagina di panoramica.

Grounding web per aziende con contesto URL

Puoi attivare sia il contesto URL sia il grounding web per aziende se hai esigenze di conformità specifiche o se operi in un settore regolamentato come sanità, finanza o settore pubblico. L'indice web utilizzato nel grounding web per aziende è più limitato rispetto all'indice standard di grounding con la Ricerca Google, in quanto utilizza un sottoinsieme di ciò che è disponibile nella Ricerca Google.

Per maggiori dettagli sul grounding web per aziende, consulta la pagina Grounding web per aziende.

Risposta contestuale

La risposta del modello si basa sui contenuti recuperati dagli URL. Se il modello ha recuperato contenuti dagli URL, la risposta includerà url_context_metadata. Una risposta di questo tipo potrebbe essere simile alla seguente (alcune parti della risposta sono state omesse per brevità):

{
  "candidates": [
    {
      "content": {
        "parts": [
          {
            "text": "... \n"
          }
        ],
        "role": "model"
      },
      ...
      "url_context_metadata":
      {
          "url_metadata":
          [
            {
              "retrieved_url": "https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/code-execution",
              "url_retrieval_status": <UrlRetrievalStatus.URL_RETRIEVAL_STATUS_SUCCESS: "URL_RETRIEVAL_STATUS_SUCCESS">
            },
            {
              "retrieved_url": "https://cloud.google.com/vertex-ai/generative-ai/docs/grounding/grounding-with-google-search",
              "url_retrieval_status": <UrlRetrievalStatus.URL_RETRIEVAL_STATUS_SUCCESS: "URL_RETRIEVAL_STATUS_SUCCESS">
            },
          ]
        }
    }
  ]
}

Per ulteriori informazioni su questo oggetto, consulta il UrlContextMetadata riferimento API.

Recupero in tempo reale

Lo strumento di contesto URL recupera le versioni in tempo reale delle pagine web per mantenere aggiornate le informazioni.

Per recuperare in modo efficiente i contenuti delle pagine web, lo strumento di contesto URL utilizza un processo in due fasi progettato per bilanciare velocità, costi e accesso alle informazioni più aggiornate:

  1. Recupero dei contenuti indicizzati: questa è la prima fase. Quando fornisci un URL, lo strumento tenta innanzitutto di recuperare i contenuti dall' Google'indice web esteso e altamente ottimizzato di. Questo metodo fornisce un accesso rapido a una vasta raccolta di pagine web sottoposte a scansione.

  2. Fallback di recupero in tempo reale: questa è la seconda fase. Se i contenuti di un determinato URL non sono disponibili nell'indice (ad esempio, se la pagina è molto recente e non è ancora indicizzata), lo strumento esegue automaticamente un recupero in tempo reale. Questo meccanismo di fallback può accedere direttamente all'URL e recuperare la versione più recente dei contenuti in tempo reale.

Assegni assicurati

Il sistema esegue un controllo di moderazione dei contenuti sull'URL per verificare che soddisfi gli standard di sicurezza. Se l'URL che hai fornito non supera questo controllo, riceverai un url_retrieval_status di URL_RETRIEVAL_STATUS_UNSAFE.

Conteggio dei token

Il conteggio dei token di input include i contenuti recuperati dagli URL specificati nel prompt. Nell'output del modello, puoi visualizzare il conteggio dei token per l'utilizzo di prompt e strumenti nell'oggetto usage_metadata. Di seguito è riportato un output di esempio:

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

Il prezzo per token dipende dal modello che utilizzi. Per ulteriori informazioni, consulta Costo di creazione e deployment di modelli di AI in Vertex AI.

Tipi di contenuti supportati e non supportati

Lo strumento di contesto URL può estrarre contenuti dagli URL con i seguenti tipi di contenuti:

Contenuti Tipo
Testo text/html
application/json
text/plain
text/xml
text/css
text/javascript
text/csv
text/rtf
Immagine image/png
image/jpeg
image/bmp
image/webp
PDF application/pdf

Lo strumento di contesto URL non supporta i seguenti tipi di contenuti:

  • Contenuti protetti da paywall
  • Video di YouTube (per ulteriori informazioni, consulta Comprensione dei video).
  • File di Google Workspace come Documenti Google o Fogli Google
  • File video e audio

Limitazioni

  • Lo strumento di contesto URL utilizza fino a 20 URL per richiesta per l'analisi.
  • Per risultati ottimali durante la fase sperimentale, utilizza lo strumento su pagine web standard anziché su contenuti multimediali come i video di YouTube.