ChatGPTのようなクラウド型AIが広く使われるようになりましたが、最近は自分のPC上でLLMを動かす ローカルLLM もかなり扱いやすくなっています。
ローカルLLMには、次のようなメリットがあります。
- 入力内容を外部サービスに送らずに済む
- インターネット接続なしでも使える
- モデルや設定を自分で調整できる
- 自作アプリからAPI経由で呼び出せる
- 小さなモデルなら普通のPCでも試せる
そのローカルLLMを簡単に扱えるツールが Ollama です。
Ollamaを使うと、モデルのダウンロード、実行、API利用、独自モデルの作成までをシンプルなコマンドで行えます。
この記事では、初心者向けにOllamaの基本操作から、モデルの選び方、API利用、独自モデル作成までを順番に紹介します。
- Ollamaとは
- Ollamaをインストールする
- Ollamaのモデル名について
- 初心者におすすめのモデル
- まず試すなら gemma3:4b
- 日本語や普段使いなら qwen3:4b / qwen3:8b
- 軽いPCで試すなら qwen3:0.6b
- コード生成なら qwen2.5-coder
- 推論系なら deepseek-r1
- RAGや検索用途なら埋め込みモデル
- モデルをダウンロードする
- モデルを実行する
- インストール済みモデルを確認する
- OllamaをAPIから使う
- Ollama独自APIを使う
- OpenAI API互換APIを使う
- Ollamaの裏側
- GGUFとは
- 量子化とは
- Ollama用の独自モデルを作る
- 作業ディレクトリを作る
- llama.cppを取得する
- Python仮想環境を作る
- 依存パッケージを入れる
- Hugging FaceモデルをGGUFに変換する
- モデルを量子化する
- Modelfileを作る
- Ollamaにモデルを登録する
- 作成したモデルを実行する
- よくあるつまずき
- メモリ不足になる
- ダウンロードが遅い
- ollama コマンドが見つからない
- GGUF変換でエラーが出る
- ライセンスには注意する
- まとめ
Ollamaとは
Ollamaは、ローカルPCでLLMを動かすための実行環境です。
Dockerがコンテナを扱うように、OllamaはLLMのモデルを扱います。
たとえばモデルを取得する場合は、次のようにします。
ollama pull gemma3:4b
実行する場合は、次のようにします。
ollama run gemma3:4b
モデル名を指定するだけで、Ollamaが必要なファイルを取得し、ローカルで実行できるようにしてくれます。
Ollamaをインストールする
Ollamaは以下のOSに対応しています。
- Windows
- macOS
- Linux
まずは公式サイトからインストーラーをダウンロードします。

インストールが完了したら、ターミナルやPowerShellで次のコマンドを実行します。
ollama --version
バージョンが表示されれば準備完了です。
Windowsの場合、インストール直後はターミナルを開き直すか、PCを再起動すると安定します。
Ollamaのモデル名について
Ollamaでは、モデルを次の形式で指定します。
モデル名:タグ
例です。
gemma3:4b qwen3:4b llama3.2:3b deepseek-r1:7b
4b や 7b は、おおよそのパラメータ数を表しています。
基本的には、数値が大きいほど高性能になりやすい一方で、必要なメモリや実行環境も重くなります。
タグを省略すると、多くの場合は latest が指定されます。
ollama run gemma3
ただし、latest は将来的に中身が変わる可能性があります。
記事や手順として残す場合は、できるだけタグまで書いたほうが再現しやすいです。
初心者におすすめのモデル
Ollamaには多くのモデルがあります。
最初は何を選べばよいか迷いやすいので、用途別におすすめを整理します。
まず試すなら gemma3:4b
初心者が最初に試すなら、gemma3:4b が扱いやすいです。
ollama run gemma3:4b
軽めで、モデル一覧でも見つけやすく、ローカルLLMの入門用としてちょうどよいサイズです。
日本語や普段使いなら qwen3:4b / qwen3:8b
日本語での会話や文章生成を試すなら、Qwen系も候補になります。
ollama run qwen3:4b
PCに余裕があるなら、少し大きめのモデルも試せます。
ollama run qwen3:8b
Qwen系は多言語対応が比較的強く、日本語でローカルLLMを試したい場合に使いやすいです。
軽いPCで試すなら qwen3:0.6b
PCのメモリに余裕がない場合や、とにかく軽く動かしたい場合は、小さなモデルから始めるのがおすすめです。
ollama run qwen3:0.6b
精度は大きなモデルより落ちますが、「ローカルでLLMが動く」という体験をするには十分です。
ほかにも、軽量モデルとして以下があります。
ollama run llama3.2:1b ollama run smollm2:1.7b
コード生成なら qwen2.5-coder
プログラミング用途で試すなら、コード向けモデルを選ぶとよいです。
ollama run qwen2.5-coder:7b
コード生成、コード説明、エラー原因の調査などを試したい場合に向いています。
推論系なら deepseek-r1
じっくり考えるタイプのタスクを試したいなら、推論系モデルもあります。
ollama run deepseek-r1:7b
ただし、推論系モデルは出力が長くなりやすいです。
初心者向けの記事では、基本編ではなく発展編として紹介するとわかりやすいです。
RAGや検索用途なら埋め込みモデル
チャットではなく、文章検索やRAGに使うモデルもあります。
代表例です。
ollama pull nomic-embed-text ollama pull mxbai-embed-large ollama pull bge-m3
これらは会話用ではなく、文章をベクトル化するためのモデルです。
文書検索、類似度検索、RAGを作るときに使います。
モデルをダウンロードする
モデルを事前にダウンロードするには、ollama pull を使います。
ollama pull gemma3:4b
モデルファイルはサイズが大きいことがあります。
初回ダウンロードには時間がかかるので、安定したネットワーク環境で実行しましょう。
モデルを実行する
ダウンロードしたモデルは、ollama run で実行できます。
ollama run gemma3:4b
実行すると、ターミナル上でチャットが始まります。
たとえば、次のように入力できます。
Ollamaとは何かを初心者向けに説明してください。
終了したい場合は、次のように入力します。
/bye
まだダウンロードしていないモデルを ollama run した場合でも、Ollamaが自動的にダウンロードしてから実行してくれます。
インストール済みモデルを確認する
ローカルにあるモデル一覧は、次のコマンドで確認できます。
ollama list
不要になったモデルを削除する場合は、次のようにします。
ollama rm gemma3:4b
モデルは数GB以上になることもあるため、ディスク容量が少ない場合は定期的に整理するとよいです。
OllamaをAPIから使う
Ollamaはコマンドラインだけでなく、API経由でも利用できます。
通常、OllamaのAPIサーバーは次のURLで動作します。
http://localhost:11434
Ollamaには大きく分けて2種類のAPIがあります。
- Ollama独自API
- OpenAI API互換API
Ollama独自APIを使う
チャット生成を行う場合は、次のようなリクエストを送れます。
curl http://localhost:11434/api/chat -d '{ "model": "gemma3:4b", "messages": [ { "role": "user", "content": "Ollamaについて短く説明してください" } ] }'
Pythonから使う場合は、公式パッケージを使うと簡単です。
pip install ollama
import ollama response = ollama.chat( model="gemma3:4b", messages=[ { "role": "user", "content": "ローカルLLMのメリットを3つ教えてください" } ] ) print(response["message"]["content"])
OpenAI API互換APIを使う
OllamaはOpenAI API互換のエンドポイントも持っています。
http://localhost:11434/v1
OpenAI SDKから利用する例です。
pip install openai
from openai import OpenAI client = OpenAI( base_url="http://localhost:11434/v1", api_key="ollama" ) response = client.chat.completions.create( model="gemma3:4b", messages=[ { "role": "user", "content": "Ollamaを使う利点を説明してください" } ] ) print(response.choices[0].message.content)
api_key はOpenAI SDKの仕様上必要ですが、ローカルのOllamaでは実際の認証には使われません。
そのため、ここでは “ollama” のような文字列を入れています。
OpenAI互換APIは既存ツールとつなぎやすい一方、Ollama独自の細かい設定をすべて扱えるわけではありません。
コンテキスト長などを細かく制御したい場合は、Ollama独自APIやModelfileを使うとよいです。
Ollamaの裏側
Ollamaの内部では、主に llama.cpp が使われています。
llama.cppはC++で書かれた軽量なLLM推論エンジンです。
CPUだけでも動かせる場合があり、ローカルLLMでは非常によく使われています。
Ollama自体はGoで書かれていますが、実際の推論処理ではllama.cppを活用しています。
GGUFとは
ローカルLLMを調べていると、GGUF という形式をよく見かけます。
GGUFは、llama.cppで使われるモデルファイル形式です。
Hugging Faceで配布されているモデルは、重み、トークナイザー、設定ファイルなどが複数ファイルに分かれていることがあります。
一方、GGUFはそれらの情報を1つのファイルにまとめて扱えます。
Ollamaで独自モデルを扱う場合にも、このGGUF形式がよく使われます。
量子化とは
LLMはサイズが大きく、そのままだと大量のメモリを使います。
そこでよく使われるのが 量子化 です。
量子化とは、モデルの重みを軽い形式に変換して、ファイルサイズやメモリ使用量を減らす技術です。
ざっくり言うと、次のようなイメージです。
BF16 高精度だが重い Q8系 比較的高品質で少し軽い Q4系 軽くて実用的 Q2/Q3系 とても軽いが品質が落ちやすい
初心者が試すなら、Q4_K_M あたりが扱いやすいです。
Ollama用の独自モデルを作る
ここからは発展編です。
Hugging Face上のモデルをGGUFに変換し、Ollamaで使えるモデルとして登録してみます。
今回は軽量な例として、Qwen/Qwen3-0.6B を使います。
全体の流れは次の通りです。
1. 作業ディレクトリを作る 2. llama.cppを取得する 3. Python仮想環境を作る 4. 必要な依存関係を入れる 5. Hugging FaceモデルをGGUFに変換する 6. 必要に応じて量子化する 7. Modelfileを書く 8. Ollamaにモデルとして登録する 9. 実行する
作業ディレクトリを作る
まず作業用フォルダを作ります。
mkdir work cd work
llama.cppを取得する
llama.cppをcloneします。
git clone https://github.com/ggml-org/llama.cpp.git
Gitが入っていない場合は、先にGitをインストールしてください。
確認は次のコマンドでできます。
git --version
Python仮想環境を作る
Pythonの依存関係を作業用に分けるため、仮想環境を作ります。
macOSやLinuxの場合です。
python3 -m venv venv source venv/bin/activate
Windows PowerShellの場合です。
python -m venv venv .\venv\Scripts\Activate.ps1
PowerShellで実行ポリシーのエラーが出た場合は、次のように一時的に許可します。
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass .\venv\Scripts\Activate.ps1
依存パッケージを入れる
llama.cppのPythonスクリプトに必要な依存関係をインストールします。
pip install -r llama.cpp/requirements.txt
うまくいかない場合は、Pythonやpipのバージョンを確認します。
python --version pip --version
Hugging FaceモデルをGGUFに変換する
llama.cppには、Hugging Face形式のモデルをGGUFに変換するスクリプトがあります。
llama.cpp/convert_hf_to_gguf.py
Qwen/Qwen3-0.6B をGGUFに変換する例です。
python llama.cpp/convert_hf_to_gguf.py \ --remote \ --outtype bf16 \ --outfile qwen3-0.6b-bf16.gguf \ Qwen/Qwen3-0.6B
Windows PowerShellでは、1行で書くとわかりやすいです。
python llama.cpp/convert_hf_to_gguf.py --remote --outtype bf16 --outfile qwen3-0.6b-bf16.gguf Qwen/Qwen3-0.6B
主なオプションの意味です。
--remote Hugging Faceからモデルを取得する --outtype bf16 BF16形式で出力する --outfile 出力するGGUFファイル名を指定する Qwen/Qwen3-0.6B 変換対象のモデルID
完了すると、次のようなファイルが作成されます。
qwen3-0.6b-bf16.gguf
モデルを量子化する
BF16のままだと重い場合があるため、量子化します。
量子化には llama-quantize を使います。
llama.cppを自分でビルドしてもよいですが、初心者の場合はリリースページからビルド済みファイルをダウンロードするほうが簡単です。

OSに合ったzipを展開し、llama-quantize または llama-quantize.exe を使います。
量子化コマンドです。
llama-quantize qwen3-0.6b-bf16.gguf qwen3-0.6b-Q4_K_M.gguf Q4_K_M
Windowsでカレントディレクトリに llama-quantize.exe がある場合は、次のようにします。
.\llama-quantize.exe qwen3-0.6b-bf16.gguf qwen3-0.6b-Q4_K_M.gguf Q4_K_M
成功すると、量子化済みのGGUFファイルができます。
qwen3-0.6b-Q4_K_M.gguf
Modelfileを作る
Ollamaで独自モデルを作るには、Modelfile という設定ファイルを使います。
Dockerの Dockerfile のようなものです。
作業ディレクトリに Modelfile という名前のファイルを作り、次の内容を書きます。
FROM ./qwen3-0.6b-Q4_K_M.gguf PARAMETER num_ctx 32768 PARAMETER temperature 1
それぞれの意味です。
FROM 元にするモデルファイルを指定する
PARAMETER num_ctx コンテキスト長を指定する
PARAMETER temperature 出力のランダム性を指定する
temperature は、値が高いほど出力が多様になり、低いほど安定しやすくなります。
Ollamaにモデルを登録する
Modelfile ができたら、Ollamaにモデルとして登録します。
ollama create my/qwen3:0.6b
このコマンドは、カレントディレクトリにある Modelfile を自動的に読み込みます。
ファイル名を変えている場合は、-f オプションで指定します。
ollama create my/qwen3:0.6b -f ./MyModelfile
登録できたか確認します。
ollama list
一覧に my/qwen3:0.6b が表示されれば成功です。
作成したモデルを実行する
登録したモデルは、通常のOllamaモデルと同じように実行できます。
ollama run my/qwen3:0.6b
たとえば次のように質問してみます。
あなたは日本語で回答するアシスタントです。Ollamaについて簡単に説明してください。
返答が返ってくれば、独自モデルの作成は成功です。
よくあるつまずき
ここでは、Ollamaを使うときに初心者がつまずきやすいポイントをまとめます。
メモリ不足になる
大きなモデルを使うと、PCのメモリやGPUメモリが足りないことがあります。
その場合は、より小さいモデルを使います。
最初は以下のようなモデルがおすすめです。
ollama run qwen3:0.6b ollama run llama3.2:1b ollama run gemma3:4b
ダウンロードが遅い
モデルファイルは数GBになることがあります。
ダウンロードには時間がかかるので、安定したネットワークで実行しましょう。
ollama コマンドが見つからない
インストール後にターミナルを開き直してください。
それでも見つからない場合は、PCを再起動すると解決することがあります。
GGUF変換でエラーが出る
よくある原因は次の通りです。
- Pythonのバージョンが古い
- pip install が失敗している
- Hugging FaceのモデルIDが間違っている
- ディスク容量が足りない
- 対象モデルが変換スクリプトに対応していない
まずはエラーメッセージを確認し、依存関係とモデルIDを見直しましょう。
ライセンスには注意する
ローカルLLMは簡単に使えますが、モデルごとにライセンスが異なります。
特に次のような用途では、必ずライセンスを確認してください。
- 商用サービスで使う
- 社内ツールに組み込む
- モデルを再配布する
- 生成結果を業務利用する
「ローカルで動く」ことと「自由に使ってよい」ことは別です。
個人の学習では問題になりにくい場合もありますが、業務利用では必ずモデルカードやライセンスを確認しましょう。
まとめ
Ollamaを使うと、ローカル環境でLLMを簡単に動かせます。
基本はこの2つだけです。
ollama pull モデル名 ollama run モデル名
初心者が最初に試すなら、次の構成がおすすめです。
まず動かす gemma3:4b日本語も試す qwen3:4b軽量モデル qwen3:0.6bコード用途 qwen2.5-coder:7bRAG用途 nomic-embed-text
最初は既存モデルを動かすだけで十分です。
慣れてきたら、API連携、量子化、Modelfile、独自モデル作成へ進むと、ローカルLLMの仕組みがかなり見えてきます。


