Puedes usar la herramienta de contexto de URL para proporcionar URLs a Gemini como contexto adicional para tu petición. El modelo puede obtener contenido de las URLs y usarlo para informar y dar forma a su respuesta.
Esta herramienta es útil para tareas como las siguientes:
- Extraer puntos de datos o temas de conversación clave de artículos
- Comparar información de varios enlaces
- Sintetizar datos de varias fuentes
- Responder a preguntas basadas en el contenido de una o varias páginas específicas
- Analizar contenido con fines específicos (como redactar una descripción de un puesto de trabajo o crear preguntas para un examen)
Ten en cuenta que el índice que se usa para extraer datos puede no estar actualizado, por lo que es posible que haya información obsoleta.
En esta guía se explica cómo usar la herramienta de contexto de URL en la API de Gemini en Vertex AI.
Modelos admitidos
Los siguientes modelos admiten el contexto de URL:
- Gemini 3 Pro Modelo de vista previa
- Gemini 2.5 Pro
- Gemini 2.5 Flash Modelo de vista previa
- Gemini 2.5 Flash-Lite Modelo de vista previa
- Gemini 2.5 Flash
- Gemini 2.5 Flash-Lite
- Gemini 2.0 Flash
Usar contexto de URL
Puedes usar la herramienta de contexto de URL de dos formas principales: sola o junto con Fundamentación con la Búsqueda de Google.
Solo contexto de URL
Puedes proporcionar URLs específicas que quieras que el modelo analice directamente en tu petición:
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
Fundamentación con la Búsqueda de Google con contexto de URL
También puedes habilitar el contexto de URL y la función de fundamentación con la Búsqueda de Google mediante peticiones con o sin URLs. El modelo puede buscar primero información relevante y, después, usar la herramienta de contexto de URL para leer el contenido de los resultados de búsqueda y obtener una comprensión más profunda.
Esta función es experimental y está disponible en la versión v1beta1 de la API.
Ejemplos de peticiones:
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
Para obtener más información sobre cómo utilizar la Búsqueda de Google, consulta la página de descripción general.
Fundamentación web para empresas con contexto de URL
Puedes habilitar tanto el contexto de URL como Web Grounding para empresas si tienes necesidades de cumplimiento específicas o si perteneces a un sector regulado, como el de la sanidad, las finanzas o el sector público. El índice web que se usa en Web Grounding for Enterprise es más limitado que el índice estándar de Grounding con la Búsqueda de Google, ya que usa un subconjunto de lo que está disponible en la Búsqueda de Google.
Para obtener más información sobre Web Grounding for Enterprise, consulta la página Web Grounding for Enterprise.
Respuesta contextual
La respuesta del modelo se basa en el contenido que ha obtenido de las URLs. Si el modelo ha obtenido contenido de URLs, la respuesta incluirá url_context_metadata. Una respuesta de este tipo podría tener un aspecto similar al siguiente (se han omitido algunas partes para mayor brevedad):
{
"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">
},
]
}
}
]
}
Para obtener más información sobre este objeto, consulta la referencia de la API UrlContextMetadata.
Obtención en directo
La herramienta de contexto de URL obtiene versiones activas de páginas web para mantener tu información actualizada.
Para recuperar el contenido de las páginas web de forma eficiente, la herramienta de contexto de URL usa un proceso de dos fases diseñado para equilibrar la velocidad, el coste y el acceso a la información más actualizada:
Recuperación de contenido indexado: es la primera fase. Cuando proporcionas una URL, la herramienta intenta primero obtener el contenido del índice web extenso y altamente optimizado de Google. Este método proporciona un acceso rápido a una amplia colección de páginas web rastreadas.
Reserva de recuperación de datos en directo: es la segunda fase. Si el contenido de una URL determinada no está disponible en el índice (por ejemplo, si la página es muy nueva y aún no se ha indexado), la herramienta realiza automáticamente una obtención en directo. Este mecanismo de reserva puede acceder directamente a la URL y obtener la versión más reciente del contenido en tiempo real.
Comprobaciones de seguridad
El sistema realiza una comprobación de moderación de contenido en la URL para confirmar que cumple los estándares de seguridad. Si la URL que has proporcionado no supera esta comprobación, recibirás un url_retrieval_status de URL_RETRIEVAL_STATUS_UNSAFE.
Recuento de tokens
El recuento de tokens de entrada incluye el contenido obtenido de las URLs que especifiques en tu petición. En el resultado del modelo, puedes ver el recuento de tokens de tu petición y el uso de herramientas en el objeto usage_metadata. A continuación se muestra un ejemplo de resultado:
'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
}
El precio por token depende del modelo que utilices. Para obtener más información, consulta Coste de crear y desplegar modelos de IA en Vertex AI.
Tipos de contenido admitidos y no admitidos
La herramienta de contexto de URL puede extraer contenido de URLs con los siguientes tipos de contenido:
| Content | Tipo |
|---|---|
| Texto | text/htmlapplication/jsontext/plaintext/xmltext/csstext/javascripttext/csvtext/rtf |
| Imagen | image/pngimage/jpegimage/bmpimage/webp |
application/pdf |
La herramienta de contexto de URL no admite los siguientes tipos de contenido:
- Contenido con muro de pago
- Vídeos de YouTube (para obtener más información, consulta Información sobre los vídeos).
- Archivos de Google Workspace, como Documentos o Hojas de cálculo de Google
- Archivos de vídeo y audio
Limitaciones
- La herramienta de contexto de URL puede analizar hasta 20 URLs por solicitud.
- Para obtener los mejores resultados durante la fase experimental, usa la herramienta en páginas web estándar en lugar de contenido multimedia, como vídeos de YouTube.