はじめに
このレッスンでは、動作するローカルスタックをセットアップします:
- モデルランタイムとしてのOllama
- プライマリモデルとしてのGemma 4
- チーム全体のチャットインターフェースとしてのOpen WebUI
1. Ollamaのインストール
brew install ollama
brew services start ollama
curl http://127.0.0.1:11434/api/tags
エンドポイントがJSONを返せば、ランタイムの準備は完了です。
2. Gemma 4モデルのプル
ollama pull gemma4
ollama run gemma4
RAMが少ないマシンでは、スワップ圧力を避けるために量子化バリアントを選択してください。
3. Open WebUIの実行
docker run -d \
--name open-webui \
-p 3000:8080 \
-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
-v open-webui:/app/backend/data \
--restart unless-stopped \
ghcr.io/open-webui/open-webui:main
http://localhost:3000にアクセスし、最初の管理者アカウントを作成します。
4. モデルプリセットの標準化
ユースケース別にプリセットを作成:
- コーディング:低い温度、やや高いコンテキスト
- 要約:中程度の温度、短いフォーマット
- 抽出:低い温度、固定JSON出力
新しいチームメンバーが正しいデフォルトを使用できるよう、プリセットを内部ドキュメントに保存します。
5. Macでのリソースモニタリング
3つを追跡します:
- メモリプレッシャー
- スワップ使用量
- 実際のトークン/秒
スワップが急増したら、より深い最適化を試みる前にnum_ctxまたはモデルサイズを削減してください。
6. クイックトラブルシューティング
- DockerがOllamaに接続できない:
host.docker.internalを使用する。 - モデルが徐々に遅くなる:スワップとバックグラウンドアプリを確認する。
- UIにモデルが表示されない:
ollama listとOLLAMA_BASE_URLを確認する。
演習
- フルスタックをインストールし、エンドポイントの図をキャプチャする。
- 3つの異なるユースケースのモデルプリセットを3つ作成する。
- 同じ長いプロンプトを2回連続で実行して速度を比較する。
デモコード
インストール後、ヘルスチェックエンドポイントを確認:

Swagger UIが自動的にAPIドキュメントを生成:
