Ollama入門【ローカルLLMを簡単に始める方法】
Ollamaを使えば、ローカルLLMを驚くほど簡単に始められます。
この記事では、Ollamaのインストールから基本的な使い方までを解説します。
1. Ollamaとは
概要
Ollamaは、ローカル環境でLLM(大規模言語モデル)を簡単に実行できるツールです。
Ollamaの特徴
- ワンコマンドでLLMを実行
- 様々なモデルに対応
- Windows/Mac/Linux対応
- 無料で利用可能
- REST APIを提供
従来の方法との違い
| 項目 | 従来の方法 | Ollama |
|---|---|---|
| セットアップ | 複雑 | 簡単 |
| 依存関係 | 多い | 少ない |
| モデル管理 | 手動 | 自動 |
| 学習コスト | 高い | 低い |
2. インストール方法
Windows
【手順】 1. ollama.com にアクセス 2. 「Download for Windows」をクリック 3. インストーラーを実行 4. 完了
Mac
bash
# Homebrewでインストール
brew install ollama
# または公式サイトからダウンロード
Linux
bash
# 公式インストールスクリプト
curl -fsSL https://ollama.com/install.sh | sh
動作確認
bash
# バージョン確認
ollama --version
# サービス起動確認
ollama list
3. 基本的な使い方
モデルのダウンロードと実行
bash
# Llama 3.1をダウンロード&実行
ollama run llama3.1
# Qwen 2.5を実行
ollama run qwen2.5
# サイズを指定して実行
ollama run llama3.1:8b
ollama run qwen2.5:14b
対話モード
bash
# 対話開始
ollama run llama3.1
# プロンプトが表示される
>>> こんにちは
# 応答が返ってくる
こんにちは!何かお手伝いできることはありますか?
# 終了
>>> /bye
ワンショット実行
bash
# 1回だけ質問
ollama run llama3.1 "日本の首都は?"
# 結果のみ表示(スクリプト向け)
echo "要約してください: ..." | ollama run llama3.1
便利なオプション
bash
# システムプロンプトを設定
ollama run llama3.1 --system "あなたは親切なアシスタントです"
# コンテキスト長を設定
ollama run llama3.1 --num-ctx 4096
# 温度を設定
ollama run llama3.1 --temperature 0.7
4. モデルの管理
モデル一覧の確認
bash
# ダウンロード済みモデル一覧
ollama list
# 出力例
NAME ID SIZE MODIFIED
llama3.1:latest 365c0bd3c000 4.7 GB 2 days ago
qwen2.5:latest 845dbda0ea48 4.4 GB 5 days ago
モデルのダウンロード
bash
# モデルをダウンロード(実行せず)
ollama pull llama3.1
ollama pull qwen2.5:14b
# 利用可能なモデルは ollama.com/library で確認
モデルの削除
bash
# モデルを削除
ollama rm llama3.1
# 確認
ollama list
主要モデル一覧
| モデル | サイズ | 用途 |
|---|---|---|
| llama3.1 | 8B | 汎用 |
| qwen2.5 | 7B | 日本語◎ |
| gemma2 | 9B | 軽量高性能 |
| mistral | 7B | 効率的 |
| codellama | 7B | コーディング |
| llava | 7B | 画像対応 |
5. 設定とカスタマイズ
Modelfile
カスタムモデルを作成できます。
Modelfile
# Modelfile
FROM llama3.1
# システムプロンプト
SYSTEM あなたは技術文書の専門家です。簡潔で正確な回答をしてください。
# パラメータ設定
PARAMETER temperature 0.7
PARAMETER num_ctx 4096
カスタムモデルの作成
bash
# Modelfileからモデルを作成
ollama create my-assistant -f Modelfile
# 実行
ollama run my-assistant
日本語アシスタントの例
Modelfile
# japanese-assistant.Modelfile
FROM qwen2.5:14b
SYSTEM """
あなたは日本語で回答する親切なアシスタントです。
以下のルールに従ってください:
- 丁寧な日本語を使う
- 簡潔に回答する
- わからない場合は正直に伝える
"""
PARAMETER temperature 0.5
PARAMETER top_p 0.9
6. API利用
REST API
Ollamaは自動的にAPIサーバーを起動します(ポート11434)。
bash
# 生成API
curl http://localhost:11434/api/generate \
-d '{
"model": "llama3.1",
"prompt": "日本の首都は?",
"stream": false
}'
Pythonから利用
Python
import requests
def ask_ollama(prompt, model="llama3.1"):
response = requests.post(
"http://localhost:11434/api/generate",
json={
"model": model,
"prompt": prompt,
"stream": False
}
)
return response.json()["response"]
# 使用例
answer = ask_ollama("PythonでHello Worldを書いて")
print(answer)
OpenAI互換API
Python
# OpenAIライブラリで利用可能
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama" # 任意の値
)
response = client.chat.completions.create(
model="llama3.1",
messages=[
{"role": "user", "content": "こんにちは"}
]
)
print(response.choices[0].message.content)
チャットAPI
bash
# 会話履歴を保持
curl http://localhost:11434/api/chat \
-d '{
"model": "llama3.1",
"messages": [
{"role": "user", "content": "私の名前は田中です"},
{"role": "assistant", "content": "田中さん、こんにちは!"},
{"role": "user", "content": "私の名前を覚えていますか?"}
],
"stream": false
}'
7. トラブルシューティング
モデルが遅い
【原因】 ・GPUを使っていない ・メモリ不足 【対策】 ・NVIDIA GPUがあるか確認 ・ドライバーを最新に ・小さいモデルを使う
メモリエラー
【原因】 モデルサイズに対してメモリ不足 【対策】 ・より小さいモデルを使用 ollama run llama3.1:8b → phi3:mini ・他のアプリケーションを終了 ・量子化モデルを使用
接続エラー
bash
# サービスが起動しているか確認
ollama serve
# ポートが使用中でないか確認
netstat -an | grep 11434
# 別ポートで起動
OLLAMA_HOST=0.0.0.0:11435 ollama serve
GPUが認識されない
bash
# NVIDIAドライバー確認
nvidia-smi
# CUDAバージョン確認
nvcc --version
# Ollamaの再インストールで解決することも
ログの確認
bash
# Windows
# %LOCALAPPDATA%\Ollama\logs
# Mac/Linux
journalctl -u ollama
8. 活用例
文書要約
bash
# ファイルの内容を要約
cat document.txt | ollama run llama3.1 "以下を要約してください:"
コードレビュー
bash
# コードをレビュー
cat script.py | ollama run codellama "このコードをレビューしてください:"
翻訳
bash
echo "Hello, how are you?" | ollama run qwen2.5 "日本語に翻訳:"
バッチ処理
Python
import subprocess
def process_files(files, prompt_template):
results = []
for file in files:
with open(file, 'r') as f:
content = f.read()
result = subprocess.run(
["ollama", "run", "llama3.1", prompt_template + content],
capture_output=True,
text=True
)
results.append(result.stdout)
return results
9. まとめ
Ollamaの利点
利点
- インストールが簡単
- モデル管理が楽
- APIが使いやすい
- カスタマイズ可能
始め方
1. ollamaをインストール 2. ollama run llama3.1 で開始 3. 他のモデルも試す 4. APIで自動化
次のステップ
次のステップ
- 用途に合ったモデルを選ぶ
- Modelfileでカスタマイズ
- アプリケーションに組み込む
関連記事
