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)
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:
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 analice el modelo 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 la URL y la función de fundamentación con la Búsqueda de Google, usando peticiones con o sin URLs. El modelo puede buscar primero información relevante y, después, usar la herramienta de contexto de la 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 la URL como la base web para empresas si tienes necesidades de cumplimiento específicas o perteneces a un sector regulado, como el sanitario, el financiero o el 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 utiliza 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 basará en el contenido que haya 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 de la respuesta 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">
},
]
}
}
]
}
Limitaciones
- La herramienta consumirá hasta 20 URLs por solicitud para realizar el análisis.
- La herramienta no obtiene versiones activas de las páginas web, por lo que puede haber problemas con la actualidad o información obsoleta.
- 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.