開発実践ガイド

llama-serverでローカルAPIを起動する方法|localhostで動作確認する

llama-serverでローカルAPIを起動する方法 — localhostで動作確認する
目次

公式サイトで次に進む

この記事で明示的に扱うソフトだけを表示します。配布・手順は各公式ページで確認してください。

local-gen.jpがファイルを配布するものではなく、互換性を保証するものでもありません。

llama-cliなどでGGUFを読み込めることを確認したら、llama-serverを使って同じモデルへHTTPでアクセスできる。

最初はネットワーク公開まで広げず、localhostで起動 → モデル読み込み完了 → 1回のHTTP応答までを確認する。

llama-serverでローカルAPIを起動する方法|localhostで動作確認するの要点を図解

図を拡大して見る

図: 処理や設定の流れを1枚に整理。実際の操作条件は本文で確認する。

llama-serverと動作確認済みのGGUFを用意する

公式リリースのバイナリを使う場合は、llama-serverまたはWindowsのllama-server.exeが含まれているか確認する。

ソースからビルドする場合は、使用中のllama.cppの公式サーバー資料に従ってllama-serverをビルドする。

最初に使うGGUFは、llama-cliなどで読み込めることを確認済みのものが分かりやすい。サーバー起動の問題とGGUFの互換性を同時に調べずに済む。

localhostで起動する

モデルを-mで指定する基本形は次のようになる。

Windows:

llama-server.exe -m C:\models\model.gguf

Linux・macOSなど:

./llama-server -m /path/to/model.gguf

公式サーバー資料では、既定の待受先として127.0.0.1:8080が案内されている。127.0.0.1は同じPCから接続するためのlocalhostアドレスなので、最初の確認ではこのまま使う。

別PCから使いたい場合でも、動作確認前から0.0.0.0など外部から接続できる設定へ変更しない。ネットワーク公開ではファイアウォールや認証など別の確認が必要になる。

/healthでモデルの読み込み完了を確認する

サーバープロセスが起動していても、モデルがまだ読み込み中ならリクエストを処理できる状態とは限らない。

別のターミナルから、

curl http://127.0.0.1:8080/health

を実行する。

公式資料では、モデル読み込み中はHTTP 503、準備ができるとHTTP 200と{"status":"ok"}を返す動作が案内されている。

ここまで通れば、

  • llama-serverが起動した
  • 指定したアドレスとポートへ接続できる
  • モデルの読み込みが完了した

ことを分けて確認できる。

最初のリクエストを一つ送る

/healthが正常になったら、小さなリクエストを送る。公式資料にはネイティブの/completionエンドポイントが用意されている。

curl http://127.0.0.1:8080/completion \
  -H "Content-Type: application/json" \
  -d '{"prompt":"1+1=","n_predict":8}'

ここでの目的は回答品質の評価ではなく、HTTPリクエストがモデルへ届き、応答が返ることを確認することだ。

llama-serverにはOpenAI互換のエンドポイントも用意されているが、接続するクライアント側の対応範囲は別に確認する。

停止できるところまで確認する

応答を確認したら、起動したターミナルでCtrl + Cなどを使ってサーバーを停止する。

llama.cppのバージョン:
GGUF:
起動コマンド:
待受アドレス・ポート:
/health: 正常 / NG
リクエスト: 応答あり / NG

を残しておけば、後からオプションを追加したときの差を追いやすい。

Windows + NVIDIAでGGUF自体の起動がまだ安定していない場合は、llama.cppをWindows + NVIDIAで動かす手順へ戻る。LM StudioやOllamaも含めてAPI方式を比較したい場合は、ローカルLLMのOpenAI互換API比較を確認できる。

まとめ

  • llama-serverはGGUFを読み込み、同じPCからHTTPで利用できるローカルサーバーとして起動できる
  • 最初はlocalhostのまま起動し、別PCから接続できる設定へ広げない
  • /healthがモデル読み込み完了を示してから、最初のリクエストを送る
  • 起動、モデル読み込み、HTTP応答を一段ずつ確認すると、問題の場所を切り分けやすい
同じテーマから

この記事で扱ったデータ

モデル・GPU・実行ソフトの確認済みデータを、記事とは別に確かめられます。

サイト内検索