この記事で到達するところと前提
この記事の手順を上から順に実行すると、自分のPCでLLMと対話できるようになります。Pythonからも呼び出せるようになります。使うのはOllamaです。Ollamaは、ローカルLLM(自分のPC上で動かす大規模言語モデル)のダウンロードと実行をまとめて扱うオープンソースのツールです。macOS、Windows、Linuxに対応しています。
必要なものは次の3つです。
- メモリ8GB以上のPC。16GB以上あれば選べるモデルが大きく増えます。
- ストレージの空き容量。本体用に数GB、モデル1つにつき数GB〜数十GBが必要です。
- インターネット接続。必要なのはインストールとモデルのダウンロードのときだけです。
GPUはなくても動きます。ただしCPUだけで動かすと、応答はかなり遅くなります。Ollamaが使えるGPUは、NVIDIA製GPU、一部のAMD製GPU、Apple Silicon(M1以降のMac)です。対応する機種やドライバの条件は更新されるため、公式ドキュメントで確認してください。
先に、よくあるつまずきを3つ挙げます。1つ目は、PCのメモリに対して大きすぎるモデルを選ぶことです。2つ目は、モデルの保存先のディスクが足りなくなることです。3つ目は、Python側で応答がストリーミング形式で返り、扱い方に戸惑うことです。以下の各手順で、それぞれの避け方を説明します。
手順1:Ollamaをインストールする
目安:空き容量は本体用に数GB。つまずきやすい点:Linuxではsudo権限が必要です。
macOSとWindowsでは、公式のダウンロードページからインストーラーを入手して実行します。Linuxでは、公式が案内している次のコマンドを実行します。
curl -fsSL https://ollama.com/install.sh | shインストールすると、Ollamaがバックグラウンドで常駐します。この常駐プロセスはサーバーとして動き、localhost:11434で待ち受けます。ターミナルのコマンドも、後の手順で使うPythonも、このサーバーに接続します。
インストールできたかどうかは、ターミナルで次のコマンドを実行して確かめます。
ollama --versionバージョン番号が表示されれば成功です。サーバーに接続できないという警告が出る場合は、常駐プロセスが起動していません。macOSとWindowsではOllamaアプリを起動します。Linuxではsudo systemctl start ollamaを実行します。手動でollama serveを実行したときにaddress already in useと表示されたら、サーバーはすでに起動しています。この表示はエラーではないので、そのまま次の手順に進めます。
手順2:メモリとGPUに合ったモデルを選ぶ
目安:モデルのファイルサイズに1〜2GBを足した量の空きメモリが必要です。つまずきやすい点:パラメータ数の数字だけを見てモデルを選ぶことです。
モデル名に付いている「3b」「8b」などの数字は、パラメータ数(モデルの規模)を表します。この数字が大きいほど賢くなる傾向があります。そのぶん、多くのメモリが必要になり、応答も遅くなります。Ollamaで配布されているモデルの多くは量子化されています。量子化とは、精度を少し落とす代わりにファイルを小さくする処理です。4bit量子化のモデルなら、ファイルサイズは「パラメータ数(B)×0.6GB」程度が目安になります。8Bのモデルなら約5GBです。
PCのメモリから考えると、選べる規模の目安は次の表のとおりです。OSやブラウザもメモリを使うので、表の値は余裕を持たせて見積もっています。
| メモリ(GPU搭載ならVRAM) | 無理なく動く規模 | 用途の例 |
|---|---|---|
| 8GB | 1B〜3B級 | 動作確認、短い要約や分類 |
| 16GB | 7B〜8B級 | 日常的なチャットや文章の下書き |
| 32GB以上 | 14B級からそれ以上 | 長めの推論、コード補助 |
GPUを搭載している場合は、PC本体のメモリではなくVRAM(GPU専用のメモリ)の量を基準にします。VRAMに収まらないモデルは、一部がCPUで処理されます。その場合も動きますが、速度は大きく落ちます。Apple SiliconのMacはメインメモリをGPUと共有しているので、搭載メモリの量をそのまま基準にできます。
どのモデルを選べばよいか迷ったら、まず小さいモデルで最後の手順まで通すことを勧めます。執筆時点では、llama3.2(3B)、gemma3、qwen3などがOllamaで配布されており、それぞれ複数のサイズがあります。ダウンロードする前に、公式のモデルライブラリで各タグのファイルサイズとライセンスを確認してください。日本語の性能はモデルによって差が大きいので、実際に試して比べるのが確実です。
手順3:モデルをダウンロードする
目安:モデルのサイズと同じだけの空き容量(数GB〜数十GB)。つまずきやすい点:保存先のドライブの空き容量が足りないことです。
モデルをダウンロードするコマンドは次のとおりです。この記事では、例として小さめのモデルを使います。
ollama pull llama3.2名前の後ろにタグを付けると、サイズを指定できます(例:gemma3:1b)。タグを省略すると、標準のタグが選ばれます。ダウンロードしたモデルの一覧とサイズは、次のコマンドで確認します。
ollama listモデルの保存先は、macOSとWindowsではホームフォルダの.ollama/modelsです。Linuxで公式スクリプトを使ってインストールした場合は/usr/share/ollama/.ollama/modelsです。システムドライブの空きが少ないときは、環境変数OLLAMA_MODELSで保存先を別のドライブに変えられます。変更したら、Ollamaを再起動すると反映されます。ダウンロードが途中で止まった場合は、同じコマンドをもう一度実行します。止まったところから続きをダウンロードします。
手順4:ターミナルでチャットする
目安:モデルのサイズに1〜2GBを足した量の空きメモリ。つまずきやすい点:最初の応答が遅いことと、GPUが使われていないことに気づかないことです。
ollama run llama3.2プロンプトが表示されたら、質問を入力してEnterキーを押します。最初の1回は、モデルをメモリに読み込むので数秒〜数十秒かかります。その後の応答は速くなります。チャットを終えるときは/byeと入力します。
別のターミナルでollama psを実行すると、読み込まれているモデルと、処理を担っている装置(CPUかGPUか)がわかります。「100% GPU」と表示されれば、モデルはすべてGPUで処理されています。CPUとGPUで分担している表示なら、モデルがVRAMに収まっていません。応答が極端に遅いときやPCの動作が重くなったときは、手順2に戻って1段小さいモデルを選び直してください。読み込み済みのモデルは、何も操作しなければ一定時間後に自動でメモリから外れます。すぐにメモリを空けたいときはollama stop llama3.2を実行します。
手順5:Pythonからlocalhost APIを呼ぶ
目安:手順4と同じ量のメモリ。つまずきやすい点:標準ではストリーミング形式で応答が返ることです。
Ollamaのサーバーは、http://localhost:11434でHTTPのAPIを提供しています。次の例は、広く使われているHTTPライブラリrequestsを使って、チャット用のエンドポイント/api/chatを呼び出します。
pip install requestsimport requests
res = requests.post(
'http://localhost:11434/api/chat',
json={
'model': 'llama3.2',
'messages': [{'role': 'user', 'content': 'ローカルLLMの利点を2文で説明して'}],
'stream': False,
},
)
res.raise_for_status()
print(res.json()['message']['content'])この例のポイントは'stream': Falseです。この指定がないと、応答は少しずつ分割され、JSONが何行も続く形で返ってきます。そのままres.json()を呼ぶと、解析に失敗してエラーになります。まずはFalseで動作を確かめてください。ストリーミングは、表示を速く見せたくなってから使えば十分です。Connection refusedと表示されたらサーバーが起動していないので、手順1の確認方法で起動します。model not foundと表示されたら、ollama listに表示されるモデル名と、コードに書いたモデル名が一致しているか確かめます。
公式のPythonライブラリ(pip install ollama)を使うと、同じ処理をもっと短く書けます。このほか、OpenAI互換のエンドポイント(/v1/chat/completions)も用意されています。OpenAI APIを使う既存のコードは、接続先のURLを書き換えるだけで流用できる場合があります。
容量を戻す:モデルの削除とアンインストール
使わなくなったモデルは、次のコマンドで削除できます。削除すると、そのモデルのサイズ分の容量が空きます。
ollama rm llama3.2Ollamaそのものを削除する方法はOSによって異なります。macOSでは、Ollamaアプリを終了してから、アプリケーションフォルダのOllamaを削除します。Windowsでは、「設定」の「アプリ」からアンインストールします。どちらの場合も、ホームフォルダの.ollamaにモデルが残ることがあります。このフォルダも手動で削除しないと、容量は戻りません。Linuxでは、sudo systemctl stop ollamaとsudo systemctl disable ollamaでサービスを止めます。そのあと、サービス定義ファイル、本体のバイナリ、/usr/share/ollamaを削除します。削除するファイルの場所はバージョンによって変わることがあるので、公式ドキュメントのLinux向けの手順に従ってください。
動かしたあとに次のモデルを選ぶ基準
小さいモデルで手順5まで動いたら、次は自分の用途で試して比べる段階です。実際に使う予定の文章や質問を5〜10件用意してください。その質問を、同じ系統のモデルのサイズ違いに投げて結果を比べます。サイズを1段上げても回答の質がほとんど変わらないなら、速くて軽い小さいモデルを使い続ける方が合理的です。上げたことで明らかに良くなり、ollama psで「100% GPU」と表示されるなら、そのサイズが今のPCで使える上限の候補になります。それでも回答の質が足りない場合は、クラウドのAPIと使い分けることを検討します。判断の目安は、データを外部に出せるかどうかと、求める回答の質です。