Ошибка шаблона чата Gemma 4: Параметры инструментов с anyOf/null отображаются как пустой тип

Пользователь Reddit обнаружил, что Gemma 4 (gemma-4-31B-it) не может корректно обрабатывать параметры инструментов, использующие шаблон JSON Schema anyOf: [$ref, null] — распространенный способ для nullable-ссылок на объекты. Стандартный chat-шаблон предполагает наличие поля type на верхнем уровне, поэтому такие схемы, как:
{"anyOf": [{"$ref": "#/$defs/SomeObject"}, {"type": "null"}]}теряют anyOf, $ref и $defs, что приводит к type: "" в промпте. Это нарушает работу вызова инструментов на нескольких движках вывода (llama-server и других), в то время как Qwen3.5 и gpt-oss-20b обрабатывают это правильно.
Диагностика и исправление
Пользователь провел отладку с подробным логированием llama-server и с помощью GPT-5.5-high (через codex CLI) сравнил логи Qwen3.5-27B-Q4_K_M и gemma-4-31B-it-Q4_K_S на MacBook Pro. Корень проблемы был найден в предположении chat-шаблона Gemma, что каждый параметр имеет прямой ключ type. Небольшое изменение Jinja-шаблона теперь сохраняет структуры anyOf, $ref и $defs.
Исправленный Jinja-шаблон доступен на Pastebin: https://pastebin.com/p9z3BAC0
Был отправлен пул-реквест в репозиторий Hugging Face для gemma-4-31B-it.
Вывод
Если вы используете Gemma 4 для вызова инструментов/функций с nullable-ссылками JSON Schema, примените исправленный chat-шаблон. Пользователи Qwen3.5 или gpt-oss-20b не затронуты.
📖 Прочитать полный источник: r/LocalLLaMA
👀 Смотрите также

Анализ проблем бенчмаркинга TB2 в задаче db-wal-recovery
Анализ Reddit выявляет проблемы с задачей db-wal-recovery в Terminal Bench 2.0, где агенты могут случайно уничтожить улики, открывая базы данных SQLite, и показывает, как инъекция промптов влияет на результаты лидерборда.

中国的DeepSeek、Qwen和Moonshot:平价AI模型威胁美国主导地位
Bloomberg сообщает, что китайские модели ИИ DeepSeek, Qwen и Moonshot набирают популярность благодаря более низкой стоимости, бросая вызов американским лидерам ИИ.

Кими k2.5: Прокладывая новые пути в автоматизации ИИ
Kimi k2.5 установила новый стандарт в области автоматизации ИИ, обладая передовыми возможностями, которые привлекают внимание в технологическом сообществе. Узнайте, как она перестраивает ландшафт.

Claude Code v2.1.116: Улучшение производительности, исправления терминала и обновления безопасности
Claude Code v2.1.116 предоставляет значительные улучшения производительности, включая ускорение команды /resume до 67% для сессий объемом 40 МБ+, более плавную прокрутку терминала и более быстрый запуск MCP. В выпуске также исправлены проблемы с отображением терминала, добавлены меры защиты безопасности для опасных операций с путями и устранены несколько ошибок, влияющих на слеш-команды и управление плагинами.