Clicky

OllamaではじめるローカルLLM入門

生成AI(エーアイ)
生成AI(エーアイ)
この記事は約14分で読めます。

※記事中に広告情報を含みます。

スキルを手に入れた時、人は強くなれる。
Youtubeでスキルアップを始める 電子書籍でスキルアップを始める

ChatGPTのようなクラウド型AIが広く使われるようになりましたが、最近は自分のPC上でLLMを動かす ローカルLLM もかなり扱いやすくなっています。

ローカルLLMには、次のようなメリットがあります。

  • 入力内容を外部サービスに送らずに済む
  • インターネット接続なしでも使える
  • モデルや設定を自分で調整できる
  • 自作アプリからAPI経由で呼び出せる
  • 小さなモデルなら普通のPCでも試せる

そのローカルLLMを簡単に扱えるツールが Ollama です。

Ollamaを使うと、モデルのダウンロード、実行、API利用、独自モデルの作成までをシンプルなコマンドで行えます。

この記事では、初心者向けにOllamaの基本操作から、モデルの選び方、API利用、独自モデル作成までを順番に紹介します。

Ollamaとは

Ollamaは、ローカルPCでLLMを動かすための実行環境です。

Dockerがコンテナを扱うように、OllamaはLLMのモデルを扱います。

たとえばモデルを取得する場合は、次のようにします。

ollama pull gemma3:4b

実行する場合は、次のようにします。

ollama run gemma3:4b

モデル名を指定するだけで、Ollamaが必要なファイルを取得し、ローカルで実行できるようにしてくれます。

Ollamaをインストールする

Ollamaは以下のOSに対応しています。

  • Windows
  • macOS
  • Linux

まずは公式サイトからインストーラーをダウンロードします。

Ollama
Ollama is the easiest way to automate your work using open models, while keeping your data safe.

インストールが完了したら、ターミナルや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を自分でビルドしてもよいですが、初心者の場合はリリースページからビルド済みファイルをダウンロードするほうが簡単です。

Releases ?? ggml-org/llama.cpp
LLM inference in C/C++. Contribute to ggml-org/llama.cpp development by creating an account on GitHub.

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:7b
  • RAG用途 nomic-embed-text

最初は既存モデルを動かすだけで十分です。

慣れてきたら、API連携、量子化、Modelfile、独自モデル作成へ進むと、ローカルLLMの仕組みがかなり見えてきます。

ホーム
掲載依頼
WordPress
スキルアップ
記事カテゴリ
お問い合わせ
Youtube