v0.20.6-rc0: gemma4: 新しいjinjaテンプレートに合わせるためレンダラーを更新 (#15490)

Ollama Releases / 2026/4/11

📰 ニュースDeveloper Stack & InfrastructureModels & Research

要点

  • gemma4のために更新されたGoogleのJinjaテンプレートにより、本リリースでは新しいテンプレートとの同等性(パリティ)を保つためレンダラーを更新しました。
  • 変更には、アップストリームのパース挙動がわずかに変化したことに伴う、小規模なアップストリーム整合のためのパーサ更新も含まれています。
  • いくつかのエッジケースを修正しました。特に型ユニオンに関する部分です。またアップストリームの出力形式は「文字列化された配列」である点が挙げられていますが、多くのモデルでは一般的にそれを扱えるとされています。
  • レンダラーは、非常に単純なAnyOf構文に対して特別なケースを追加し、それらを型ユニオンとして扱うことで、実際に使われるであろう型ユニオンの利用をより適切にサポートします。
  • 追加の堅牢性向上として、Noneより空を優先すること、IDが欠けているツール結果をより慎重に扱うこと、そしてリンターの修正を行いました。
  • gemma4: 新しいjinjaテンプレートに合わせてレンダラーを更新

Googleはgemma4のjinjaテンプレートを更新しました。そのためこの変更により
新しいテンプレートとの同等性が得られます。パース処理も上流でわずかに変更されているので、
それに合わせて当方のパーサーにも小さな変更を加えます。

また、いくつかおそらく既存のエッジケースも修正しました。特に
型のユニオン周りです。上流の出力形式は奇妙です(文字列化された
配列)ですが、実際にはモデルがそれをうまく理解しているようです。

  • gemma4: 単純なAnyOfの特別なケース

上流のテンプレートはAnyOfを扱っていませんが、前の
コミットで型のユニオンがかなりうまく機能するのを見たので、
ここでは非常に単純なAnyOfを型のユニオンとして扱います。
それらが使用されている可能性があるケースを助けるためです。

  • lintを修正

  • gemma4: Noneの代わりに空を優先

現時点では、結果が「存在しない」のか「空」のなのかを区別できません。
空の場合のほうが重要そうです(例:正当に空の
ツール呼び出し)。

  • gemma4: IDが欠けているツール結果に対してより慎重に