Lección 28 · 5 min · Gratis

Redacción de un informe de investigación con la herramienta de búsqueda de Gemini

Copyright 2026 Google LLC.
# @title Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

En este tutorial, vas a aprovechar la última herramienta de búsqueda del modelo Gemini para escribir un informe de empresa. Ten en cuenta que la herramienta de búsqueda es una función de pago y este tutorial no funciona con una clave de API de nivel gratuito.

Quizás te preguntes, ¿por qué es necesario usar la herramienta de búsqueda para este propósito? Bueno, como sabrás, el mundo empresarial actual evoluciona muy rápido y los LLM generalmente no se entrenan con la frecuencia suficiente para capturar las últimas actualizaciones. Afortunadamente, la búsqueda de Google viene al rescate. La búsqueda de Google está diseñada para proporcionar información precisa y casi en tiempo real, y puede ayudarnos a cumplir esta tarea perfectamente.

Ten en cuenta que, si bien los modelos Gemini 1.5 ofrecían la función de grounding de búsqueda que también podría ayudarte a lograr resultados similares (consulta un notebook anterior que usa grounding de búsqueda), la nueva herramienta de búsqueda en Gemini 2.0 y modelos posteriores es mucho más potente y fácil de usar, y debería priorizarse sobre el grounding de búsqueda. También es posible usar varias herramientas juntas (por ejemplo, la herramienta de búsqueda y la llamada a funciones).

Configuración

Instala el SDK

El nuevo SDK de Google Gen AI proporciona acceso programático a los modelos Gemini usando las API de Google AI for Developers y Vertex AI. Con algunas excepciones, el código que se ejecuta en una plataforma se ejecutará en ambas. Esto significa que puedes crear un prototipo de aplicación usando la API de desarrollador y luego migrar la aplicación a Vertex AI sin reescribir tu código.

Más detalles sobre este nuevo SDK en la documentación o en el notebook Primeros pasos.

%pip install -U -q google-genai

Configura tu clave de API

Para ejecutar la siguiente celda, tu clave de API debe estar almacenada en un secreto de Colab llamado GEMINI_API_KEY. Si aún no tienes una clave de API, o no estás seguro de cómo crear un secreto de Colab, consulta Autenticación image para ver un ejemplo.

from google.colab import userdata

GEMINI_API_KEY=userdata.get('GEMINI_API_KEY')

Importa las bibliotecas

from google import genai
from google.genai.types import GenerateContentConfig, Tool
from IPython.display import display, HTML, Markdown
import io
import json
import re

Inicializa el cliente del SDK

Con el nuevo SDK, ahora solo necesitas inicializar un cliente con tu clave de API (o OAuth si usas Vertex AI). El modelo ahora se configura en cada llamada.

client = genai.Client(api_key=GEMINI_API_KEY)

Selecciona un modelo

La herramienta de búsqueda es una nueva característica de los modelos Gemini que recupera automáticamente artefactos precisos y fundamentados de la web para que los desarrolladores los procesen. A diferencia del grounding de búsqueda en los modelos Gemini 1.5, no necesitas establecer el umbral de recuperación dinámica.

Para obtener más información sobre todos los modelos Gemini, consulta la documentación para obtener información ampliada sobre cada uno de ellos.

MODEL_ID = "gemini-3.7-flash" # @param ["gemini-3.1-pro-preview", "gemini-3.7-flash", "gemini-3.5-flash-lite", "gemini-2.5-pro"] {"allow-input":true, isTemplate: true}

Escribe el informe con Gemini

Selecciona una empresa objetivo para investigar

A continuación, usarás Alphabet como ejemplo de objetivo de investigación.

COMPANY = 'Alphabet' # @param {type:"string"}

Haz que Gemini planifique la tarea y escriba el informe

Los modelos Gemini más recientes son un gran avance con respecto a los modelos anteriores, ya que pueden razonar, planificar, buscar y escribir de una sola vez. En este caso, solo le darás a Gemini un prompt para que haga todo esto y el modelo terminará tu tarea sin problemas. También usarás la transmisión de salida, que transmite la respuesta a medida que se genera, y el modelo devolverá fragmentos de la respuesta tan pronto como se generen. Si deseas que el SDK devuelva una respuesta después de que el modelo complete todo el proceso de generación, también puedes usar el enfoque sin transmisión.

Ten en cuenta que debes habilitar las Sugerencias de búsqueda de Google, que ayudan a los usuarios a encontrar resultados de búsqueda correspondientes a una respuesta fundamentada, y mostrar las consultas de búsqueda que se incluyen en los metadatos de la respuesta fundamentada. Puedes encontrar más detalles sobre este requisito.

sys_instruction = """You are an analyst that conducts company research.
You are given a company name, and you will work on a company report. You have access
to Google Search to look up company news, updates and metrics to write research reports.

When given a company name, identify key aspects to research, look up that information
and then write a concise company report.

Feel free to plan your work and talk about it, but when you start writing the report,
put a line of dashes (---) to demarcate the report itself, and say nothing else after
the report has finished.
"""

config = GenerateContentConfig(system_instruction=sys_instruction, tools=[Tool(google_search={})], temperature=0)
response_stream = client.models.generate_content_stream(
    model=MODEL, config=config, contents=[COMPANY])

report = io.StringIO()
for chunk in response_stream:
  candidate = chunk.candidates[0]

  for part in candidate.content.parts:
    if part.text:
      display(Markdown(part.text))

      # Find and save the report itself.
      if m := re.search('(^|\n)-+\n(.*)$', part.text, re.M):
          # Find the starting '---' line and start saving.
          report.write(m.group(2))
      elif report.tell():
        # If there's already something in the buffer, keep recording.
        report.write(part.text)

    else:
      print(json.dumps(part.model_dump(exclude_none=True), indent=2))

  # You must enable Google Search Suggestions
  if gm := candidate.grounding_metadata:
    if sep := gm.search_entry_point:
      display(HTML(sep.rendered_content))
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.Markdown object>
<IPython.core.display.HTML object>

¡Muy impresionante! Gemini comienza planificando la tarea, realizando búsquedas relevantes y transmitiendo un informe para ti.

Salida final

Renderiza la salida final.

display(Markdown(report.getvalue().replace('$', r'\$')))  # Escape $ signs for better MD rendering
display(HTML(sep.rendered_content))
<IPython.core.display.Markdown object>
<IPython.core.display.HTML object>

Como puedes ver, el modelo Gemini es capaz de escribir un informe de investigación conciso, preciso y bien estructurado para nosotros. Toda la información del informe es fáctica y está actualizada.

Ten en cuenta que este tutorial tiene como objetivo mostrar la capacidad de la nueva herramienta de búsqueda e inspirar casos de uso interesantes, no construir un generador de informes de investigación de producción. Si buscas usar una herramienta, consulta Deep Research de Google en la aplicación Gemini.

Próximos pasos

Para obtener más información sobre todas las funciones de Gemini, consulta los notebooks de inicio rápido de Gemini.

Lección del curso «Gemini API Cookbook (examples)» de Google, publicado con licencia Apache 2.0. Traducción y adaptación al español de IA con Clase. IA con Clase no está afiliado a Google. Ver el original · Licencia
Esta lección es gratuita. El resto del curso se abre con la Membresía de IA con Clase, que incluye todos los cursos del catálogo. Ver precios