実行プログラムと拡張機能

Ollama:自分のパソコンのモデルを別のアプリにつなぐには

モデルとは会話できたのに、コードエディターにつなぐと返事が来ません。大きなモデルをダウンロードしたり機器を買い替えたりする前に、確認することがあります。モデルの実行場所、アプリの送信先、アプリが必要とする機能が一致しているかを見ていきます。

接続設定をシンプルに保ちたいとき

Ollamaはモデルの管理と、リクエストを受け取って回答を返す処理をまとめて提供します。自作の短いスクリプトやエディターから同じモデルを呼びたいときに選ぶ理由があります。細かな起動コマンドを毎回管理する代わりに、モデル名とサーバーアドレスを中心に使えます。

ただし、OpenAI互換という表示は、すべてのアプリの全機能が動くという意味ではありません。通常の会話、ツール呼び出し、画像入力は別々に確認します。接続するアプリが必要とするAPIとモデルの機能を調べ、短いテキストへの返答を確認してから機能を追加してください。

モデル名だけでは実行場所は分かりません

ローカルで使うときはダウンロード済みのモデルを選びます。クラウドモデルも提供されているため、アプリ名だけを見て、すべての処理が自分のパソコン内で行われるとは考えないでください。以下の例ではクラウド機能を無効にし、このパソコンからの接続だけを受け付けるサーバーを起動します。

Apple SiliconではMetalによる高速化を利用できます。NVIDIA・AMDのPCではGPUとドライバーの対応条件も確認します。同じモデル名でもタグや量子化形式によって必要なメモリは変わるので、他の人の結果と比較するときはモデル名だけでなく、その条件も残してください。

まず起動済みのサーバーを確認します

OllamaアプリやOSのサービスがすでに動いている場合、同じポートで別のサーバーは起動できません。以下は既存のサーバーを終了してから、ターミナルで直接起動する例です。アプリやサービスとして使い続ける場合は、その実行環境に設定を適用して再起動します。

短い接続確認用に、コンテキストを4,096トークンに指定しています。すべてのバージョンの初期値でも、コーディングエージェントに十分な長さという意味でもありません。起動後、別のターミナルでollama lsを実行し、ダウンロード済みモデルの名前とタグを確認します。

ローカル専用サーバーを起動

OLLAMA_NO_CLOUD=1 OLLAMA_HOST=127.0.0.1:11434 OLLAMA_CONTEXT_LENGTH=4096 ollama serve

Ollamaのインストール後、macOS・Linuxのターミナルで使う例です。Windowsでは同じ環境変数を設定し、アプリを再起動します。モデルをダウンロードするコマンドではありません。

接続確認と速度測定を分けます

YOUR_LOCAL_MODELを、先ほど確認した名前に置き換えます。このリクエストは短い回答が返るかを確認するだけです。streamを無効にしているため、回答が完成してから表示されます。表示までの時間を、最初のトークンまでの待ち時間として記録してはいけません。

回答が返ったら、ollama psのPROCESSORを確認してください。一部がCPUに配置されていれば、GPUだけで動いた記録とはそのまま比較できません。初回のモデル読み込み時間も繰り返し実行とは分けます。速度を記録するときはウォームアップ後、入力・出力の長さと設定をそろえて3回以上確認します。

ローカルモデルに短いリクエストを送る

curl -sS http://127.0.0.1:11434/api/chat -H "Content-Type: application/json" -d '{"model":"YOUR_LOCAL_MODEL","messages":[{"role":"user","content":"Reply with one short sentence."}],"stream":false,"options":{"num_ctx":4096,"num_predict":128}}'

YOUR_LOCAL_MODELは置き換え用の文字列です。インストール済みモデルの正確なタグに変えて実行してください。性能測定ではなく、接続確認用のコードです。

遅いからとすべてを変える前に

短い質問では問題なくても、文書を付けると待ち時間が長くなるなら、まず入力処理とメモリを確認します。コンテキストを大きくしたり同時リクエストを増やしたりすると、必要な領域も増えます。小さいモデルファイルに変えて速くなった結果を、エンジンの設定だけの効果と考えないことも大切です。

使いたいモデルや高速化方式に現在の構成が対応していなければ、別のエンジンを検討します。GGUFの設定を直接調整するならllama.cpp、MacのMLX環境を調べるならoMLXやMTPLXのガイドへ進んでください。今の作業が十分にできるなら、慣れた接続を維持するのも合理的な選択です。

変更履歴

サイトの説明を変更した記録です。インストール済みのエンジンやモデルのバージョンを自動で確認した結果ではありません。

  1. Ollamaのローカル実行・状態確認の案内を追加

    ローカルモデルでサーバーを起動し、短いAPIリクエストを送る例を追加しました。モデルの実行先と文脈設定を確認し、リクエスト全体の完了時間を最初のトークンの測定値と混同しないよう説明しました。