Gemma4リリース直後にllama-cpp-pythonが未対応だったので、llama-server.exeを直叩きした話
> Source: Zenn_Python
Execute Primary Source
// Problem
新モデルへのラッパーの追従遅延への対応と、LLMが生成するJSONレスポンスの不安定さ(Markdown記号の混入やトークン切れによる不完全なJSON)が技術的課題であった。
// Approach
subprocessを用いて本家バイナリを直接起動・管理する設計を採用。JSONパースには、括弧による切り出し、正規表現による強制抽出、生テキスト返却という3段構えのフォールバック機構を実装した。
// Result
モデルの動的切り替えやマルチモーダル機能の自動有効化を実現。トークン切れ等のエラーが発生しても、実用的な精度でタグ抽出を継続できる堅牢なシステムを構築した。
Senior Engineer Insight
> ラッパーの更新を待たず本家バイナリを直接叩く手法は、新モデル検証において極めて有効である。また、LLMの出力を扱う際は、常に「壊れたデータ」を想定した防御的プログラミングが不可欠である。