v0.20.3-rc0: model/parsers: gemma4 のツール呼び出し修復(repair)を追加 (#15374)

Ollama Releases / 2026/4/7

📰 ニュースDeveloper Stack & InfrastructureTools & Practical Usage

要点

  • v0.20.3-rc0では、Gemma4のツール呼び出しパーサーについて、既存の厳格パスで失敗した場合に自動修復(repair)を試みる仕組みが追加されました。
  • 修復は複数候補(candidates)を段階的に生成し、最初にパースできた候補を採用する方式で実装されています。
  • 修復対象には、Gemma文字列の区切り欠落、単一引用符の文字列(ぶら下がった区切りを含む)、ツールスキーマ上文字列であるのに生の終端文字列になっているケース、などが含まれます。
  • さらに、壊れたツール呼び出しに対する回帰カバレッジ(issue #15315)と、個別の修復ヘルパーおよび候補パイプラインのためのユニットテストが追加されています。

既存の厳格な gemma4 ツールパーサーは、依然として主な経路ですが、
これが失敗した場合は、実際のところこれらのモデルが犯しがちな
最もよく見られるいくつかの誤りを修正することで修復を試みます。

修復は、候補の集合を構築し、
解析できる最初の候補を使用することで行います。

修復の内容は:

  • Gemma 文字列の区切りが欠けている
  • シングルクォートで囲まれた文字列値(宙ぶらりんの Gemma 区切りを含む)
  • 生のターミナル文字列値(対応するツールスキーマが
    文字列であるべきだと示している場合)
  • 具体的な修復の後にのみ、オブジェクトの閉じが欠けている

課題 #15315 からの、
不正なツール呼び出しに対する回帰テストの追加と、個々の修復ヘルパーおよび
候補パイプラインに対する重点的なユニットテストを行います。