Uso de herramientas con la API de Gemini

Las herramientas amplían las capacidades de los modelos de Gemini, lo que les permite actuar en el mundo, acceder a información en tiempo real y realizar tareas computacionales complejas. Los modelos pueden usar herramientas en interacciones estándar de solicitud-respuesta y en sesiones de transmisión en tiempo real con la API de Live.

Las herramientas son capacidades específicas (como la Búsqueda de Google o la ejecución de código) que un modelo puede usar para responder consultas. La API de Gemini proporciona un conjunto de herramientas integradas y completamente administradas, o bien puedes definir herramientas personalizadas con la función Llamada a función.

Para compilar sistemas de varios pasos orientados a objetivos, consulta la Descripción general de los agentes.

Herramientas integradas disponibles

Herramienta Descripción Casos de uso
Búsqueda de Google Fundamenta las respuestas en hechos y eventos actuales de la Web para reducir las alucinaciones. \- Responder preguntas sobre eventos recientes
\- Verificar hechos con diversas fuentes
Google Maps Compila asistentes que reconozcan la ubicación y puedan encontrar lugares, obtener indicaciones y proporcionar un contexto local enriquecido. - Planificar itinerarios de viaje con varias paradas
- Encontrar empresas locales según los criterios del usuario
Ejecución de código Permite que el modelo escriba y ejecute código de Python para resolver problemas matemáticos o procesar datos con precisión. \- Resolver ecuaciones matemáticas complejas
\- Procesar y analizar datos de texto con precisión
Contexto de URL Dirige el modelo para que lea y analice contenido de páginas web o documentos específicos. \- Responder preguntas basadas en URLs o documentos específicos
\- Recuperar información en diferentes páginas web
Uso de la computadora (vista previa) Permite que Gemini vea una pantalla y genere acciones para interactuar con las IUs del navegador web (ejecución del lado del cliente). \- Automatizar flujos de trabajo repetitivos basados en la Web
\- Probar las interfaces de usuario de aplicaciones web
Búsqueda de archivos Indexa y busca tus propios documentos para habilitar la generación mejorada por recuperación (RAG). - Buscar manuales técnicos
- Búsqueda de respuestas sobre datos de propiedad de la empresa

Consulta la página de precios para obtener detalles sobre los costos asociados con herramientas específicas.

Cómo funciona la ejecución de herramientas

Las herramientas permiten que el modelo solicite acciones durante una conversación. El flujo difiere según si la herramienta es integrada (administrada por Google) o personalizada (administrada por ti).

Flujo de herramientas integradas

Para las herramientas integradas (Búsqueda de Google, Google Maps, contexto de URL, búsqueda de archivos, ejecución de código), todo el proceso ocurre en una llamada a la API:

  1. envías una instrucción: "¿Cuál es la raíz cuadrada del precio de las acciones más reciente de GOOG?".
  2. Gemini decide que necesita herramientas y las ejecuta en los servidores de Google (p.ej., busca el precio de las acciones y, luego, ejecuta código de Python para calcular la raíz cuadrada).
  3. Gemini envía la respuesta final fundamentada en los resultados de la herramienta.

Flujo de herramientas personalizadas (llamada a función)

Para las herramientas personalizadas y el uso de la computadora, tu aplicación controla la ejecución:

  1. envías una instrucción junto con las declaraciones de funciones (herramientas).
  2. Gemini puede enviar JSON estructurado para llamar a una función específica (por ejemplo, {"name": "get_order_status", "args": {"order_id": "123"}}), siempre con un id.
  3. ejecutas la función en tu aplicación o entorno.
  4. envías los resultados de la función, con el mismo id que la llamada a función, a Gemini.
  5. Gemini usa los resultados para generar una respuesta final o llamar a otra herramienta.

Obtén más información en la guía de Llamada a función.

Flujo de combinación de herramientas integradas y personalizadas

Para las solicitudes que combinan herramientas integradas y herramientas personalizadas (llamadas a función), el modelo usa la circulación del contexto de la herramienta para coordinar la ejecución en diferentes entornos:

  1. envías una instrucción y declaras las herramientas integradas y las funciones personalizadas que deseas habilitar, y estableces una marca para activar la compatibilidad con la combinación.
  2. Gemini ejecuta herramientas integradas y cede al usuario si se genera alguna llamada a función del lado del cliente (lo que se ejecuta primero depende de la instrucción y de lo que decida el modelo). Envía una respuesta con lo siguiente:
    • Confirmación de la llamada a la herramienta
    • Resultados de la respuesta de la herramienta (esto puede aparecer después del JSON si el modelo generó dos llamadas a función paralelas)
    • JSON estructurado para llamar a tu función
    • Firmas de pensamiento encriptadas para preservar el contexto
  3. ejecutas la función en tu aplicación o entorno.
  4. muestras todas las partes de la respuesta de Gemini, además de los resultados de la llamada a función.
  5. Gemini genera la respuesta final con todo el contexto combinado.

Lee la guía Combinación de herramientas para obtener información sobre cómo activar la compatibilidad con la combinación de herramientas integradas y personalizadas, y ejemplos de circulación de contexto.

Resultados estructurados frente a llamada a función

Gemini ofrece dos métodos para generar resultados estructurados. Usa la función Llamada a función cuando el modelo necesite realizar un paso intermedio conectándose a tus propias herramientas o sistemas de datos. Usa resultados estructurados cuando necesites estrictamente que la respuesta final del modelo se ajuste a un esquema específico, como para renderizar una IU personalizada.

Resultados estructurados con herramientas

Puedes combinar resultados estructurados con herramientas integradas para garantizar que las respuestas del modelo fundamentadas en datos o cálculos externos sigan ajustándose a un esquema estricto.

Consulta Resultados estructurados con herramientas para obtener ejemplos de código.