AIREITER

llama.cpp v1.0ガイド:変更点とアップグレード方法

最終更新日: 2026-11-13 19:02:30

2026年11月13日にリリースされたllama.cpp v1.0.0は、セマンティックバージョニングで管理される初の安定版です。今後、公開C APIの互換性を壊す変更にはメジャーバージョンアップが必要になります。GitHubではタグLatestとして公開されています。リリースノートによれば、今回のリリースはAPIの削除、新しいキャッシュ、モデル対応の追加を含む、整理と互換性を重視したものです。

v1.0は高速化の約束ではなく、バージョンの安定性を示すもの

リリースノートのAPI変更に関する説明で保証対象とされているのは、llama.hの公開C APIです。CLIフラグ、サーバーのルート、nightly版の挙動は、引き続き変わる可能性があると考えておきましょう。再現性のあるビルドにはv1.0.0タグを使い、新しい修正が必要な場合だけ、コミットごとのnightly版を利用します。リリースページにはv1.0.0と並んでnightlyのb12359も掲載されています。

「ということは、毎回のリリースで変更されて、どのアプリも上流版に依存できない状態だったCLIパラメーターを、今後は安定させるということ?」— r/LocalLLaMAのu/halvacoffee

まず確認したい、古いスクリプトと連携を壊す4つの変更

古い環境で問題になりやすい変更を、先に検索しておきます。

grep -rn "llama_set_warmup\|clip\.h\|--mmap\|--no-mmap\|--defrag-thold\|:8080\|localhost:8080" .

確認1:削除されたC関数への対応

リリースノートによると、v1.0ではllama.hから非推奨だった35個の関数が削除されました。llama_set_warmupもその一つです。さらに、defrag_tholdフィールドと--defrag-tholdオプションも削除されています。シンボルの名称変更もあり、llama_set_embd_state_srcはllama_set_ctx_state_srcになりました。また、NextN APIはllama.hに取り込まれています。削除された関数の完全な一覧は、上記のリリース変更履歴で確認できます。

確認2:サーバーのポートが8080から9931に変更

llama-serverのデフォルトは、http://127.0.0.1:9931になりました。Axiomiのセットアップガイドにもあるように、古いサンプルでは8080が使われていることがあります。ヘルスチェックやエディターのベースURLを更新するか、従来の割り当てを維持する場合は--port 8080を指定してください。

確認3:--mmapが使えない場合は-lmへ

ビルド時に--mmapを指定してerror: invalid argument: --mmapが出る場合は、ドキュメントに記載された-lm, --load-modeへ切り替えます。指定できる値はauto、none、mmap、mlock、mmap+mlock、dioです。まずは-lm autoから試し、llama-cli --helpと実際の環境に近いロードテストで挙動を確認しましょう。

確認4:clip.hの廃止に伴い、ビジョン処理をmtmdへ移行

clip.hを使っているビジョン連携は、統合されたmtmdへ移行する必要があります。リリースノートによれば、mtmdはサブコンテキスト間で計算バッファーを共有します。ビジョン関連のパイプラインを更新する前に、リリースノートのマルチモーダル関連セクションでモデルごとの注意点も確認してください。

llama.cpp v1.0で何が新しくなったのか

リリースノートの内容から、ローカル実行で特に影響が大きい追加機能を5つ紹介します。

機能できることメリットがあるユーザー
FP8 KVキャッシュ(-ctk/-ctv f8_e4m3)長いコンテキストで、f16よりKVキャッシュのメモリ使用量を削減限られたVRAMで長文チャットやRAGを使う人
MoEエキスパートキャッシュ(moe_cache_size、moe_cache_cpu_share)CPUの利用割合を設定しながらエキスパートをキャッシュVRAMに収まりきらないMoEモデルを使う人
OpenAI互換の/v1/audio/speechと/ttsのtemperature、drama-3 TTSサーバー側で音声生成が可能にクラウドTTSを避けてローカル音声アプリを作る人
サーバーの強化(オプトインの--allow-unauthenticated-tools、--media-allow-private-urls、CORS、DNSリバインディング、SSRF、MCPキャンセル関連の修正)localhostの公開やツール実行に関する複数の問題に対処127.0.0.1以外にもバインドする人
新しいモデルへの対応(Kimi-K3.1-Pro、Ripple-65B-Previewのdense 65B、xing4_0、ビジョン関連の追加)GGUFで利用できるモデルの範囲を拡大これらのモデルのリリースを追っている人

OpenAI互換サーバーを立ち上げる

ここでは、公式インストールドキュメントとAxiomiのセットアップガイドに沿って、新しいデフォルト(ポート9931、llama-cli / llama-server、-hfによるダウンロード)を使います。

1. インストール:

curl -LsSf https://llama.app/install.sh | sh

パッケージマネージャーを使うか、リリースページからビルド済みのZIPを入手する方法もあります。llama-cli --versionで確認してください。未対応のハードウェアを使う場合、独自パッチを適用する場合、またはまだマージされていない修正が必要な場合は、ソースからビルドします。

2. ターミナルでチャット:

llama-cli -hf ggml-org/Qwen3.5-0.8B-GGUF -c 8192

Axiomiのガイドによると、-hfはHugging Faceからモデルを取得してキャッシュします。:quantサフィックスを付けない場合はQ4_K_Mが選ばれます。また、デフォルトの--fit onは、未指定の値をデバイスのメモリに収まるよう調整します。

3. ローカルAPIを起動:

llama-server -hf ggml-org/Qwen3.5-0.8B-GGUF -c 8192
# open http://127.0.0.1:9931

利用できるルートには、/v1/chat/completions、/v1/responses、/v1/embeddings、/v1/messages、/v1/audio/speechがあります(Axiomiのルート一覧)。動作確認には次を実行します。

curl http://localhost:9931/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"messages":[{"role":"user","content":"Explain GGUF in one sentence."}]}'

同じガイドのPython例では、ローカルで単一モデルを提供する際にbase_url="http://localhost:9931/v1"とapi_key="no-key"を使います。ローカル利用に限定するなら、バインド先は127.0.0.1のままにしておきましょう。

v1.0、Nightly、ラッパー、ホステッドAPI。どれを選ぶべきか

選択肢向いているケース注意点
v1.0.0に固定アプリやチュートリアルを公開し、再現性のあるビルドが必要11月13日以降にマージされた修正は取り込まれない
Nightly(b12359以降)を追う最新のモデル対応やバックエンド修正が必要フラグや挙動が変わる可能性がある
Ollama / LM Studio細かなフラグ設定なしでライブラリやGUIを使いたいレイヤー、キャッシュ、サーバーフラグを直接制御しにくいのが一般的
ホステッドAPI柔軟なスケールや、ローカルVRAMの上限に縛られない環境が必要目安としてトークン単位の料金がかかり、データはマシンの外へ送られる

FAQ

v1.0は安定版ですか?既存の環境はそのまま動きますか?

安定性が保証されるのは公開C APIです。CLIフラグ、サーバーのルート、nightly版は保証対象ではありません。アップグレード前に、llama_set_warmup、clip.h、--mmap、--defrag-thold、ハードコードされた8080を検索しておきましょう。

8Bモデルにはどのくらいのメモリが必要ですか?

Tech Insiderのサイズ表では、8BのQ4_K_Mが約4.9 GB、非量子化モデルが32.1 GBとされています。これはコンテキストとランタイムの分を含まない数値です。あくまで目安なので、実際の環境ではllama-benchを使って確認してください。小さなモデルでのCPU性能の数値が、そのまま別の環境に当てはまるとは限りません。

公開・運用するものはv1.0に固定する

CIではタグを固定し、1台はnightly版の検証用に残しておきましょう。ラッパーを更新する前には、固定したサーバーに対して再テストを行うのが安全です。