Gemma 4, do Google: como executar tool calling localmente com Python e Ollama
O Machine Learning Mastery detalhou um cenário prático para o Gemma 4: um agente local em Python e Ollama consegue chamar funções externas e depois montar respo

Machine Learning Mastery выпустил подробный разбор того, как собрать локального AI-агента на базе Gemma 4 с поддержкой tool calling. Материал важен не столько самим кодом, сколько сигналом рынку: open-weight модели Google всё увереннее заходят в сценарии, где раньше почти безальтернативно доминировали облачные API.
О чём материал В статье от 14 апреля автор показывает практический стек для локального агента:
Python, Ollama и модель `gemma4:e2b`. Идея простая: вместо обычного чат-бота, который отвечает только из своих весов, разработчик даёт модели набор функций и описание их параметров. Если запрос требует внешних данных, модель не выдумывает ответ, а формирует структурированный вызов нужного инструмента, получает результат и только потом собирает финальный текст.
На фоне релиза Gemma 4 это выглядит особенно показательно. Google вывела семейство открытых моделей под лицензией Apache 2.0 и сделала акцент на агентных сценариях: structured JSON, function calling, system instructions и работа на разном железе — от мобильных устройств до рабочих станций.
Официально компания продвигает Gemma 4 как основу для локальных и on-device задач, а среди поддержанных инструментов с первого дня называет в том числе Ollama. Для разработчиков это означает более понятный путь к приватным ассистентам без обязательной зависимости от внешнего провайдера.
Как устроен агент Архитектура примера собрана без тяжёлых фреймворков.
Автор намеренно использует стандартные библиотеки Python вроде `urllib` и `json`, чтобы показать: базовый агент с tool calling можно поднять без LangChain, без оркестраторов и без толстого слоя абстракций. Ключевая часть — реестр инструментов в виде JSON Schema. Именно он объясняет модели, какие функции доступны, какие аргументы они принимают и какие поля обязательны.
- Разработчик пишет локальные Python-функции, которые выступают инструментами Для каждой функции задаётся строгая схема параметров Пользовательский запрос вместе со списком tools отправляется в Ollama Модель возвращает `tool_calls`, если ей нужны внешние данные Приложение исполняет функцию и отправляет результат обратно модели После этого происходит второй проход. Хост-приложение добавляет ответ инструмента в историю сообщений с ролью `tool`, а затем снова вызывает модель. Именно на этом шаге Gemma 4 уже не угадывает, а опирается на живые данные. В примере это позволяет аккуратно соединить reasoning модели и обычный Python-код в один рабочий цикл без облачной прослойки. По сути, автор показывает минимальную версию агентного рантайма, которую можно разобрать и адаптировать под свои задачи за вечер.
Какие инструменты показали В качестве демонстрации автор сначала собирает функцию погоды на базе
Open-Meteo, а затем добавляет ещё три инструмента: новости, текущее время и конвертацию валют. Получается маленький, но показательный агент, который может ответить не только на один факт, но и на составной запрос. Например: узнать погоду в Париже, текущее время, перевести канадские доллары в евро и одновременно подтянуть свежие новости по теме.
Отдельный акцент сделан на модели `gemma4:e2b`. Это edge-вариант Gemma 4 с эффективным двухмиллиардным footprint во время инференса, рассчитанный на экономию памяти и низкую задержку. В статье подчёркивается, что такой сетап можно запускать локально, без GPU и без API-лимитов.
Для небольших команд и solo-разработчиков это важный момент: агентные сценарии перестают быть дорогим экспериментом и становятся обычной инженерной задачей. Автор пишет, что за выходные прогнал на системе сотни запросов и не увидел сбоев в базовой логике вызова инструментов.
Что это значит Главный вывод здесь не в очередном туториале по Python, а в смещении порога входа.
Если Gemma 4 действительно стабильно держит structured output и function calling даже в лёгких edge-конфигурациях, рынок локальных агентов быстро расширится: станет больше офлайн-сценариев, приватных корпоративных внедрений и меньше причин сразу уходить в дорогие облачные стеки.