Windows環境で、OllamaでローカルLLMを動かす方法を解説します。
①推論処理が高速:LLMの推論を高速に行うllama.cpp を実行基盤に動作。
②インストールが簡単:Ollamaのインストーラは、パソコンのGPU環境を自動的に判別。
③幅広いローカルLLMを選べる:Ollamaでサポートするモデルに加え、Hugging FaceのLLMモデル(GGUF形式のファイルのみ)も容易に動かせる。
GGUF形式のモデルに対応しており、量子化にも対応しています。
メモリ要件の目安として、8GB RAM なら7Bパラメータのモデルを動かせますが、14Bパラメータのモデルの場合は 16GB 以上が推奨されます。
ダウンロードしたOllamaSetup.exeをダブルクリックして起動し、右下の[Install]ボタンを押下してインストールしてください。
インストールが完了したら、[Windows]キーを押下してメニューを開くと、Ollamaのアイコンが表示されます。見つからない場合は、検索画面で「ollama」と入力して探してください。
Ollamaアイコンが見つかったら、アイコンをクリックしてollamaを起動します。Ollamaは画面を持たないコマンドラインツールです。右下のシステムトレイにollamaが常駐するので、それで起動しているかどうかを確認できます。
ollamaが起動したら、コマンドプロンプトを起動し、以下のコマンドを実行してください。
2.2.1 モデルを選ぶ
Ollamaのレジストリから、利用したいモデルを探します。今回はMeta社のllama3.2のモデルを選びます。

2.2.2 モデルをダウンロードする (pull)
2.2.3 モデルを実行する (run)
チャット中は「/bye」で対話モードが終了します。「/clear」で、セッションの会話履歴をクリアできます。
2.2.4 Hugging Face Hub上のモデルを実行する (run)
参考:Use Ollama with any GGUF Model on Hugging Face Hub
モデルを削除する (rm)
ダウンロード済みモデルを一覧表示する (list)
実行中のモデル一覧を確認する (ps)
モデルを停止する (stop)
Ollama本体は、HTTPサーバとして実装されており、ローカルで起動すると11434ポートでエンドポイントを公開します。Ollama Python Libraryは、ollamaサーバへのリクエストを包んだラッパーです。1-2行のコードで簡単にリクエストできます。
llama3.2から以下のような回答が返ってきます。
1. Ollamaとは
Ollamaは、ローカル環境でLLMを動作・管理するソフトウェアです。無料のOSSでです。インターネット接続のないオフライン環境で動作可能です。ただし、LLMモデルをローカルにダウンロードする際は、インターネット接続が必要です。①推論処理が高速:LLMの推論を高速に行うllama.cpp を実行基盤に動作。
②インストールが簡単:Ollamaのインストーラは、パソコンのGPU環境を自動的に判別。
③幅広いローカルLLMを選べる:Ollamaでサポートするモデルに加え、Hugging FaceのLLMモデル(GGUF形式のファイルのみ)も容易に動かせる。
GGUF形式のモデルに対応しており、量子化にも対応しています。
メモリ要件の目安として、8GB RAM なら7Bパラメータのモデルを動かせますが、14Bパラメータのモデルの場合は 16GB 以上が推奨されます。
2. Ollamaのインストールと利用方法
ここでは、Ollamaのインストール方法と利用方法を紹介します。2.1 Ollamaのインストール
まず公式のURL にアクセスし、インストーラーをダウンロードします。
ダウンロードしたOllamaSetup.exeをダブルクリックして起動し、右下の[Install]ボタンを押下してインストールしてください。
インストールが完了したら、[Windows]キーを押下してメニューを開くと、Ollamaのアイコンが表示されます。見つからない場合は、検索画面で「ollama」と入力して探してください。
Ollamaアイコンが見つかったら、アイコンをクリックしてollamaを起動します。Ollamaは画面を持たないコマンドラインツールです。右下のシステムトレイにollamaが常駐するので、それで起動しているかどうかを確認できます。
ollamaが起動したら、コマンドプロンプトを起動し、以下のコマンドを実行してください。
ollama --versionバージョンが表示されていればインストール成功です。
2.2 Ollamaの利用方法
コマンドプロンプトからOllamaを利用します。2.2.1 モデルを選ぶ
Ollamaのレジストリから、利用したいモデルを探します。今回はMeta社のllama3.2のモデルを選びます。

2.2.2 モデルをダウンロードする (pull)
ollama pull llama3.2llama3.2をローカルにダウンロードします。既にダウンロード済みの場合、モデルの最新版との差分のみ更新されます。
ollama pull llama3.2:1b公式ページを見ると、llama3.2は、パラメータが3bと1bの2つのモデルが提供されています。何も指定しないとデフォルトの3bモデルがダウンロードされますが、小さい1bモデルをダウンロードしたい場合は、コマンドの末尾に「:1b」とパラメータ数を指定します。
2.2.3 モデルを実行する (run)
ollama run llama3.2モデルを実行します。コマンドプロンプトに、「>>>」と表示されたら、LLMモデルとチャット形式で会話できます。
チャット中は「/bye」で対話モードが終了します。「/clear」で、セッションの会話履歴をクリアできます。
2.2.4 Hugging Face Hub上のモデルを実行する (run)
ollama run hf.co/{ユーザー名}/{リポジトリ名}Hugging Face Hub 上にある GGUF 形式のモデルも利用できます。Ollamaのレジストリで管理していないモデルを利用できます。
参考:Use Ollama with any GGUF Model on Hugging Face Hub
モデルを削除する (rm)
ollama rm llama3.2ダウンロードしたモデルを削除します。
ダウンロード済みモデルを一覧表示する (list)
ollama listダウンロード済みのモデル一覧を表示します。
実行中のモデル一覧を確認する (ps)
ollama ps現在実行中のモデルが一覧表示されます。
モデルを停止する (stop)
ollama stop llama3.2現在実行中のモデルを停止します。
3. PythonからOllamaを動かす
OllamaをPythonから利用する方法を紹介します。3.1 Pythonのインストール
Python 3.8 以降のpythonをインストールする。3.2 Ollama-pythonのインストール
コマンドプロンプトから、下記のpipコマンドを実行して、Ollama Python Libraryライブラリをインストールします。pip install ollama
Ollama本体は、HTTPサーバとして実装されており、ローカルで起動すると11434ポートでエンドポイントを公開します。Ollama Python Libraryは、ollamaサーバへのリクエストを包んだラッパーです。1-2行のコードで簡単にリクエストできます。
3.3 Ollamaを動かすPythonコードを作成する
以下のPythonコードをテキストエディタにコピペして、ollama_python.pyで保存してください。from ollama import chat
from ollama import ChatResponse
response: ChatResponse = chat(
model='llama3.2',
messages=[
{'role': 'user', 'content': 'なぜ空は青いのですか?'},
]
)
print(response['message']['content'])
コードの中身を解説すると、まずOllamaのLLMへ問い合わせを行うchatと、応答結果を格納するオブジェクトChatResponseをOllama Python Libraryからインポートします。
次に、chat APIで 'llama3.2' モデルを指定し、ユーザのメッセージを渡します。モデルから返ってきた応答は、responseに格納されます。なおChatResponseの型アノテーションは、ollama のchat関数を使った際に返される応答の型になります。
3.4 PythonからOllamaを動かす
コマンドプロンプトで、3.3で作成したPythonコードがあるフォルダに移動し、以下のコマンドを実行すると、Ollamaサーバにリクエストしてllama3.2が処理した回答が表示されます。python ollama_python.py
llama3.2から以下のような回答が返ってきます。
空が青いのは、太陽光の吸収と反射による色の発生の結果です。 1. 太陽は、赤や黄色で輝く。 2. 光線が空気を通過する際に、赤色が長波であるため、より多くのエネルギーを持つ黄色や赤い光が吸収されます。 3. この後、残る紫色の短波は空気中に反射し、赤と黄色の周囲環境の色を発生させるからです。
まとめ
PythonからOllamaを使うことで、チャットボットやキャラクターになりきった対話など、様々なユースケースで利用できます。ローカルLLMは、クローズな環境で利用でき、API費用が掛からないため、自由気ままに遊べるところが利点です。