Ollama セットアップガイド(Mac / Windows)¶
📁 docs/dev-environment/artifact/ollama-setup-guide.md
関連Issue: KZ55230/MyLab#303 親Issue: KZ55230/MyLab#95
概要¶
Mac と Windows の両環境で Ollama を運用し、ローカルLLMを活用する。
目的: - インターネット接続不要のオフライン推論(プライバシー保護・コスト削減) - Gemini API の代替として Claude Code スキルとの連携 - Windows(高性能GPU搭載)を推論サーバとして使い、Macからリモート呼び出し
構成イメージ:
Mac (Claude Code / ollama-continue-sync スキル)
└──[LAN]──→ Windows (Ollama サーバ, OLLAMA_HOST=0.0.0.0:11434)
└──[localhost]──→ Mac (Ollama ローカル, 軽量モデル)
Mac環境セットアップ¶
インストール方法¶
Homebrew 経由(推奨):
curl 経由(Homebrew がない場合):
セットアップスクリプトを使う場合:
Ollamaの起動¶
モデルのpull¶
# 推奨モデル(14B / Apple Silicon M2以上で快適に動作)
ollama pull qwen3:14b
# 軽量モデル(M1など低スペック向け)
ollama pull qwen3:7b
# 動作確認
ollama run qwen3:14b "こんにちは"
Claude Code スキルとの連携¶
ollama-continue-sync スキル¶
.claude/skills/ に配置されている ollama-continue-sync スキルを使うことで、Claude Code セッション間でOllamaとの会話履歴を引き継ぐことができる。
使い方:
secure-llm スキル¶
ローカルLLMを安全に使うためのプロンプト管理スキル。機密情報をクラウドに送らずにLLMを呼び出す場面で活用する。
launchdによる自動起動設定¶
Macの再起動後も Ollama を自動起動するには、launchd を使う。
plistファイルの作成:
~/Library/LaunchAgents/com.ollama.serve.plist を作成する:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.ollama.serve</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/ollama</string>
<string>serve</string>
</array>
<!-- ログ出力先 -->
<key>StandardOutPath</key>
<string>/tmp/ollama.log</string>
<key>StandardErrorPath</key>
<string>/tmp/ollama.error.log</string>
<!-- ログイン時に自動起動 -->
<key>RunAtLoad</key>
<true/>
<!-- クラッシュ時に自動再起動 -->
<key>KeepAlive</key>
<true/>
</dict>
</plist>
注意: Homebrew でインストールした場合、
ollamaのパスは/opt/homebrew/bin/ollama(Apple Silicon)または/usr/local/bin/ollama(Intel)になる。which ollamaで確認すること。
launchdに登録・起動:
# 登録
launchctl load ~/Library/LaunchAgents/com.ollama.serve.plist
# 起動確認
launchctl list | grep ollama
# 停止する場合
launchctl unload ~/Library/LaunchAgents/com.ollama.serve.plist
Homebrew サービスを使う方法(より簡単):
# 自動起動設定
brew services start ollama
# 自動起動の停止
brew services stop ollama
# 状態確認
brew services list | grep ollama
Windows環境セットアップ¶
外部公開設定(OLLAMA_HOST)¶
Ollamaのデフォルトは localhost:11434 で、同一PC内からしかアクセスできない。MacなどLAN上の他PCからアクセスするには OLLAMA_HOST=0.0.0.0:11434 を設定する。
セキュリティ注意:
0.0.0.0は全ネットワークインターフェースに公開する設定。自宅LAN等の内部ネットワークのみで使用すること。公共Wi-Fiや VPNなしの環境では設定しないこと。
PowerShell(管理者権限)で実行:
# ユーザー環境変数として永続化
[System.Environment]::SetEnvironmentVariable("OLLAMA_HOST", "0.0.0.0:11434", "User")
# 現在のセッションにも反映
$env:OLLAMA_HOST = "0.0.0.0:11434"
セットアップスクリプトを使う場合(管理者権限で実行):
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\scripts\setup_ollama_windows_external.ps1
ファイアウォール設定¶
ポート 11434 を内部ネットワーク(Privateプロファイル)に開放する。
# 管理者権限が必要
New-NetFirewallRule `
-DisplayName "Ollama API (Port 11434)" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 11434 `
-Action Allow `
-Profile Private `
-Description "Ollama API サーバーへのアクセスを内部ネットワークから許可する"
既存ルールの確認:
Get-NetFirewallRule -DisplayName "Ollama API*" | Format-Table DisplayName, Enabled, Profile, Direction
Ollamaサービス再起動¶
環境変数を変更後は、Ollamaプロセスを再起動して設定を反映する:
# プロセス停止
taskkill /IM ollama.exe /F
# 再起動(最小化ウィンドウで起動)
Start-Process -FilePath "ollama" -ArgumentList "serve" -WindowStyle Minimized
ollamaサービス自動起動設定¶
Windowsの起動時にOllamaを自動起動するには、タスクスケジューラに登録する。
タスクスケジューラへの登録(PowerShell):
$action = New-ScheduledTaskAction -Execute "ollama" -Argument "serve"
$trigger = New-ScheduledTaskTrigger -AtLogOn
$settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit (New-TimeSpan -Hours 0) -RestartCount 3
$principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -LogonType Interactive
Register-ScheduledTask `
-TaskName "OllamaServe" `
-Action $action `
-Trigger $trigger `
-Settings $settings `
-Principal $principal `
-Description "Ollamaサーバーをログイン時に自動起動する"
確認・削除:
# 登録確認
Get-ScheduledTask -TaskName "OllamaServe"
# 削除する場合
Unregister-ScheduledTask -TaskName "OllamaServe" -Confirm:$false
MacからWindowsへのリモート接続テスト¶
接続テストスクリプトの使い方¶
scripts/test_ollama_remote.py を使う:
# デフォルト(localhost)への接続テスト
python scripts/test_ollama_remote.py
# WindowsのIPアドレスを指定(例: 192.168.1.100)
python scripts/test_ollama_remote.py --host 192.168.1.100 --port 11434
出力例(成功時):
==================================================
Ollama 接続テスト
==================================================
接続先: http://192.168.1.100:11434
タイムアウト: 10秒
実行日時: 2026-03-30 12:00:00
[INFO] /api/tags エンドポイントに接続中...
[OK] 接続成功!
利用可能なモデル: 3 件
モデル名 サイズ 変更日時
---------------- ---------- --------------------
qwen3:14b 8.2 GB 2026-03-28 10:30:00
qwen3:7b 4.7 GB 2026-03-27 09:15:00
gemma3:12b 7.8 GB 2026-03-26 08:00:00
curlで手動確認¶
# モデル一覧の取得
curl http://192.168.1.100:11434/api/tags
# チャット(ストリーミング)
curl http://192.168.1.100:11434/api/chat \
-H "Content-Type: application/json" \
-d '{"model": "qwen3:14b", "messages": [{"role": "user", "content": "こんにちは"}]}'
Pythonコードからリモート接続¶
import ollama
# WindowsのIPアドレスを指定してクライアントを生成
client = ollama.Client(host="http://192.168.1.100:11434")
response = client.chat(
model="qwen3:14b",
messages=[{"role": "user", "content": "こんにちは"}]
)
print(response["message"]["content"])
推奨モデル表¶
| モデル名 | サイズ | 用途 | 推奨環境 |
|---|---|---|---|
| qwen3:14b | ~8 GB | 汎用・コーディング・日本語対応 | Mac M2以上 / Windows |
| qwen3:7b | ~5 GB | 軽量・高速推論・日本語対応 | Mac M1 / 低スペックPC |
| gemma3:12b | ~8 GB | マルチモーダル・汎用 | Mac M2以上 / Windows |
補足: Windows に 30B モデルを導入済みの場合は、MacからWindowsへリモート接続してそちらを使うことで、Macのメモリ消費を抑えつつ高精度な推論が可能。
トラブルシューティング¶
Macで ollama: command not found¶
# Homebrewでインストールした場合はPATHを確認
echo $PATH | grep -o "/opt/homebrew/bin\|/usr/local/bin"
# PATHが通っていない場合は ~/.zshrc に追加
echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
Macで Error: listen tcp 127.0.0.1:11434: bind: address already in use¶
WindowsからMacへ接続できない¶
ollama serveが起動しているか確認:- Mac側の
OLLAMA_HOSTが0.0.0.0:11434になっているか確認: - Macのファイアウォールでポート 11434 が許可されているか確認: システム設定 → ネットワーク → ファイアウォール
WindowsでOLLAMA_HOSTを設定したのに接続できない¶
環境変数の変更は、Ollamaプロセスの再起動後に有効になる。
# プロセスを確実に停止してから再起動する
taskkill /IM ollama.exe /F
Start-Sleep -Seconds 2
Start-Process "ollama" -ArgumentList "serve"
モデルのpullが途中で止まる¶
ollama run が遅い / タイムアウトする¶
- Mac: Metalアクセラレーションを使っているか確認。
ollama psでGPUの使用状況を確認できる。 - Windows: GPU(CUDA)が認識されているか確認:
ollama psでGPUの表示があればOK。 - リモート接続の場合: LAN速度がボトルネックになる場合がある。有線LAN接続を推奨。