Google y Gemma 4: cómo ejecutar tool calling en local con Python y Ollama

Machine Learning Mastery ha analizado un caso práctico con Gemma 4: un agente local construido con Python y Ollama que puede llamar a funciones externas y después elaborar su respuesta a partir de los resultados. El ejemplo utiliza el tiempo meteorológico, noticias, la hora y tipos de cambio, y todo el esquema funciona solo con bibliotecas estándar de Python. El foco está en la privacidad y en funcionar sin GPU, sin límites de API y sin frameworks pesados.

Procesado por IA desde Machine Learning Mastery; editado por Hamidun News
Google y Gemma 4: cómo ejecutar tool calling en local con Python y Ollama
Fuente: Machine Learning Mastery. Collage: Hamidun News.
Escuchar artículo
Ficha técnica y cifras clave
ParámetroDatos
Fuente originalMachine Learning Mastery ↗
Editor jefe
Dato clave #1El desarrollador escribe funciones locales en Python que actúan como herramientas
Dato clave #2Para cada función se define un esquema estricto de parámetros
Dato clave #3La consulta del usuario se envía a Ollama junto con la lista de tools

Machine Learning Mastery ha publicado una guía detallada sobre cómo montar un agente de AI local basado en Gemma 4 con soporte para tool calling. Lo relevante del artículo está menos en el código que en la señal que envía al mercado: los modelos open-weight de Google entran con cada vez más fuerza en escenarios que antes dominaban, casi sin alternativa, las API en la nube.

De qué trata el artículo

En el artículo, publicado el 14 de abril, el autor presenta un stack práctico para un agente local: Python, Ollama y el modelo `gemma4:e2b`. La idea es sencilla. En lugar de un chatbot convencional que responde únicamente a partir de sus pesos, el desarrollador proporciona al modelo un conjunto de funciones y la descripción de sus parámetros. Si la consulta requiere datos externos, el modelo no se inventa la respuesta: genera una llamada estructurada a la herramienta adecuada, recibe el resultado y solo entonces redacta el texto final.

En el contexto del lanzamiento de Gemma 4, esto resulta especialmente revelador. Google ha publicado esta familia de modelos abiertos bajo licencia Apache 2.0 y ha puesto el acento en los escenarios agénticos: JSON estructurado, function calling, system instructions y funcionamiento en hardware diverso, desde dispositivos móviles hasta estaciones de trabajo. Oficialmente, la compañía promociona Gemma 4 como base para tareas locales y on-device, y entre las herramientas compatibles desde el primer día menciona, entre otras, Ollama. Para los desarrolladores, esto supone un camino más claro hacia asistentes privados sin depender obligatoriamente de un proveedor externo.

Cómo funciona el agente

La arquitectura del ejemplo prescinde de frameworks pesados. El autor recurre deliberadamente a bibliotecas estándar de Python como `urllib` y `json` para demostrar que un agente básico con tool calling puede ponerse en marcha sin LangChain, sin orquestadores y sin una gruesa capa de abstracciones. La pieza clave es un registro de herramientas en formato JSON Schema. Es lo que indica al modelo qué funciones están disponibles, qué argumentos aceptan y qué campos son obligatorios.

  • El desarrollador escribe funciones locales en Python que actúan como herramientas
  • Para cada función se define un esquema estricto de parámetros
  • La consulta del usuario se envía a Ollama junto con la lista de tools
  • El modelo devuelve `tool_calls` si necesita datos externos
  • La aplicación ejecuta la función y devuelve el resultado al modelo

A continuación llega una segunda pasada. La aplicación anfitriona añade la respuesta de la herramienta al historial de mensajes con el rol `tool` y vuelve a llamar al modelo. En este paso, Gemma 4 ya no adivina: se apoya en datos reales. En el ejemplo, esto permite integrar limpiamente el reasoning del modelo y el código Python convencional en un único ciclo de trabajo, sin una capa intermedia en la nube. En esencia, el autor presenta una versión mínima de un runtime agéntico que se puede desmontar y adaptar a las propias necesidades en una tarde.

Qué herramientas se muestran

Como demostración, el autor crea primero una función meteorológica basada en Open-Meteo y después añade otras tres herramientas: noticias, hora actual y conversión de divisas. El resultado es un agente pequeño pero ilustrativo, capaz de responder tanto a un dato aislado como a una consulta compuesta. Por ejemplo: consultar el tiempo en París, la hora actual, convertir dólares canadienses a euros y, al mismo tiempo, obtener las últimas noticias sobre un tema.

El artículo presta especial atención al modelo `gemma4:e2b`. Se trata de la variante edge de Gemma 4, con un footprint efectivo de 2.000 millones de parámetros durante la inferencia, diseñada para ahorrar memoria y ofrecer baja latencia. El artículo subraya que esta configuración puede ejecutarse en local, sin GPU y sin límites de API. Para equipos pequeños y desarrolladores independientes, este punto es importante: los escenarios agénticos dejan de ser un experimento caro y se convierten en una tarea de ingeniería corriente. El autor afirma que durante un fin de semana lanzó cientos de consultas al sistema y no detectó fallos en la lógica básica de llamada a herramientas.

Qué significa

La conclusión principal tiene poco que ver con un tutorial más de Python: lo importante es que baja la barrera de entrada. Si Gemma 4 mantiene de verdad de forma estable el structured output y el function calling incluso en configuraciones edge ligeras, el mercado de agentes locales crecerá rápidamente: habrá más escenarios offline, más despliegues corporativos privados y menos motivos para recurrir de entrada a costosos stacks en la nube.

Historia

Preguntas frecuentes sobre la noticia

¿Qué se sabe sobre De qué trata el artículo?

En el artículo, publicado el 14 de abril, el autor presenta un stack práctico para un agente local: Python, Ollama y el modelo `gemma4:e2b`. La idea es sencilla. En lugar de un chatbot convencional que responde únicamente a partir de sus pesos, el desarrollador proporciona al modelo un conjunto de funciones y la descripción de sus parámetros. Si la consulta requiere datos externos, el modelo no se inventa la respuesta: genera una llamada estructurada a la herramienta adecuada, recibe el resultado y solo entonces redacta el texto final. En el contexto del lanzamiento de Gemm

Cómo funciona el agente?

La arquitectura del ejemplo prescinde de frameworks pesados. El autor recurre deliberadamente a bibliotecas estándar de Python como `urllib` y `json` para demostrar que un agente básico con tool calling puede ponerse en marcha sin LangChain, sin orquestadores y sin una gruesa capa de abstracciones. La pieza clave es un registro de herramientas en formato JSON Schema. Es lo que indica al modelo qué funciones están disponibles, qué argumentos aceptan y qué campos son obligatorios. El desarrollador escribe funciones locales en Python que actúan como herramientas Para cada func

¿Qué se sabe sobre Qué herramientas se muestran?

Como demostración, el autor crea primero una función meteorológica basada en Open-Meteo y después añade otras tres herramientas: noticias, hora actual y conversión de divisas. El resultado es un agente pequeño pero ilustrativo, capaz de responder tanto a un dato aislado como a una consulta compuesta. Por ejemplo: consultar el tiempo en París, la hora actual, convertir dólares canadienses a euros y, al mismo tiempo, obtener las últimas noticias sobre un tema. El artículo presta especial atención al modelo `gemma4:e2b`. Se trata de la variante edge de Gemma 4, con un footprin

ZK
Zhemal Khamidun — CPO de Alpina Digital, product manager de AlpinaGPT. Crea productos de IA desde 2019. Hamidun News es un proyecto personal que creció hasta ser un agregador en producción con más de 6.000 lectores.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
¿Qué te parece?
Cargando comentarios…