見出し画像

猫のようなAIと暮らしたい(4)環境構築編


0. 使用するハードウェア

(1) Mac Studio:M4 Max / メモリ36GB

Apple Mac Studio

(2) メモリ36GBの利用内訳

Claude Fable 5 > 32GB(GeForce RTX 5090 等)での実測報告では、限界チューニングしてもLLM用は約25GBで、超えるとSSDスワップが発生し生成速度が劇的に落ちるとされています。Mac Studio の36GBはそれより余裕がありますが、「30Bクラスの4bit量子化」が実用上限という結論は同じです。

  • macOS+常駐アプリ:約6〜8GB

  • Docker Desktop+Open WebUI:約2〜3GB

  • LLMに使える実質枠:約25〜27GB

    • モデル本体(30Bクラス4bit量子化):約18〜20GB

    • KVキャッシュ(会話の作業領域):残り約5〜7GB


1. 環境構築(使用するソフトウェア)

(1) Ollama:ローカルLLMの実行基盤(T1の中核)

手を振るOllama。公式サイトで会えます。
  • Phase 0〜1 は Ollama 続投を推奨します。理由:

    • Phase 1で頭脳を自作プログラムから呼び出す際、Ollamaは標準でAPIサーバー(localhost:11434)として動くため接続が素直です。

    • LM Studio の強み(MLX対応・GUI)は速度比較の選択肢として頭の隅に置き、遅いと感じたときに初めて比較すれば十分です。

  • OllamaはMac本体に直接インストール

    • Apple Silicon Mac なら Metal でGPU支援を使えるため、Open WebUI だけを Docker Desktop で動かすのが一番おすすめです。

Mac本体
├─ Ollama        → http://localhost:11434
└─ Docker Desktop
   └─ Open WebUI → http://localhost:3000
        └─ Ollamaへは http://host.docker.internal:11434 で接続

(2) Open WebUI:モデル比較用チャットUI

今回(Phase 0)の実験用として最適

起動した Open WebUI の画面

(3) Docker Desktop:Open WebUIの土台

Dockerを使うとMac側であれこれPython環境をいじらずに済みます。

  • Open WebUI は Pythonアプリなので、直接インストールするとPythonのバージョン、依存ライブラリ、仮想環境などを気にする必要があります

  • DockerならOpen WebUIに必要な実行環境がコンテナイメージにまとまっています。(コンテナイメージとはコード、ランタイム、システムツール、ライブラリ、設定などを含む実行可能パッケージです)

(4) GitHub Desktop:リポジトリの管理

  • リポジトリを記録することで、プロジェクトの全履歴を保存し、安全な変更・復元とチームでの円滑な共同作業を実現します


2. Open WebUIのインストール

SuperGrok 4.3 > 以下に、あなたの環境で実際に動作した構成を基に、実用的な手順をまとめました。(Mac + Ollama公式アプリ + Docker Compose)

(1) プロジェクトディレクトリの作成

mkdir -p ~/docker/open-webui
cd ~/docker/open-webui
  • このディレクトリをプロジェクトのホームとして管理します(推奨構成)

  • ~ はユーザーのホームフォルダを表します

  • HD名/Users/あなたのユーザー名/docker/open-webui/docker-compose.yml

(2) docker-compose.yml の作成

  • 以下の内容を docker-compose.yml として保存してください。

services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    restart: unless-stopped
    ports:
      - "3000:8080"
    extra_hosts:
      - "host.docker.internal:host-gateway"
    volumes:
      - open-webui:/app/backend/data
    environment:
      - OLLAMA_BASE_URL=http://host.docker.internal:11434
      # 必要に応じて追加設定
      # - WEBUI_AUTH=False          # 認証を完全に無効化(非推奨)
      # - DEFAULT_USER_ROLE=admin   # 初回ユーザーを自動でadminにする

volumes:
  open-webui:
  • 解説

    • restart: unless-stopped:手動停止時以外は自動再起動

    • extra_hosts:Macで host.docker.internal を確実に解決させる設定

    • open-webui ボリューム:会話履歴・設定・ファイルが永続化される

    • ポートは 3000:8080(ホスト側3000番)

(3) 初回起動

cd ~/docker/open-webui
docker compose up -d
  • ブラウザで右記にアクセス:http://localhost:3000

  • 初回アクセス時に管理者アカウントの作成画面が表示されます。

  • メールアドレスとパスワードを入力して作成してください。

(4) 更新手順

cd ~/docker/open-webui

# 1. 最新イメージを取得
docker compose pull

# 2. コンテナを再作成(データは保持される)
docker compose up -d
  • 更新後はブラウザで 強制再読み込み(⌘ + Shift + R)してください。

(5) トラブルシューティング

  • Safariで500 Internal Server Errorが出る場合

    • プライベートブラウジング(⌘ + Shift + N)で試す

    • それでも出る場合は以下を実行:

      • Safari → 設定 → プライバシー → 「Webサイトデータを管理」

      • localhost で検索 → 該当データをすべて削除

  • ログでエラーを確認したいとき

docker compose logs --tail=100 open-webui
  • よくあるエラーと原因

    • 500 Internal Server Error

      • Cookie/キャッシュの破損 → Webサイトデータクリア

    • Model listが読み込めない

      • Ollama接続失敗 → host.docker.internal の設定確認

    • ログインできない

      • 認証情報の不整合 → プライベートモード or データクリア


3. リポジトリの整備

SuperGrok 4.3 > リポジトリ管理とは、「ファイルの変更履歴をしっかり記録して、安全にプロジェクトを進める仕組み」のことです。特に個人で開発・創作を続けていく場合に、非常に大きなメリットがあります。

リポジトリ管理のメリット

  • 「失敗を恐れずに挑戦できる」
    試行錯誤が多いプロジェクト(AI、ロボット、画像処理など)では、「壊しても戻せる」 という安心感が非常に大きいです。

  • 長期的にプロジェクトを続けやすい
    数ヶ月〜数年単位で続ける場合、過去の変更履歴が残っていると「前にどうやっていたっけ?」をすぐに思い出せます。

  • PCの買い替え・故障に強い
    ローカルだけにファイルがあると、Macが壊れた瞬間にすべて失うリスクがありますが、GitHubに置いておけば安心です。

  • 「何をやったか」を後から振り返れる
    コミットメッセージをしっかり書いておくと、数ヶ月後に「この機能はいつ作ったんだっけ?」がすぐわかります。

リポジトリ整備の手順

前提:GitHubにアカウントを作っておいて下さい

(1) GitHub Desktop と GitHubアカウントを連携する

  1. GitHub Desktopを起動

  2. メニューバー → GitHub DesktopSettings...

  3. Accounts タブ → Sign Into GitHub.com をクリック

  4. ブラウザでGitHubのあなたのアカウントにログイン・認証

(2) ローカルフォルダをGitリポジトリとして追加する

  1. GitHub Desktopのメニューバー → FileAdd Local Repository...

  2. Choose... で使用するフォルダを選択(例:~/Documents/stackchan)

  3. Add Repository をクリック

  4. フォルダが空の場合、Gitの初期化を促されるので実行

(3) 初めてのファイルを追加してGitHubに反映してみる

  1. ~/Documents/stackchan フォルダにファイルを入れる

  2. GitHub Desktopで Changes タブを確認(ファイルが表示されている)

  3. Summary にコミットメッセージを書く(例:ファイル追加のテスト)

GitHub Desktop の画面(コミットメッセージを記入したところ)

 4. 画面左下の Commit to main をクリック

GitHub Desktop の画面(Commit to main をクリックしたところ)

 5. 画面上部の Push origin をクリック → 初回のみ以下の画面が出る:

  • リポジトリ名

  • 説明(任意)

  • Keep this code private チェックボックス ← 外さなければ非公開

 6. Push されたかは以下で確認
     https://github.com/あなたのアカウント名/stackchan

github.comの画面。hello.pngと.gitignoreが追加されている

(4) おすすめの初期設定(やっておくと快適)

Changes に .DS_Store を出さないようにする設定

  1. GitHub Desktopの Changes タブで .DS_Store を右クリック

  2. Ignore file を選択

  3. .gitignore ファイルが作成される

  4. Changes タブに新しく出てきた .gitignore をクリックして開く

  5. 中身を以下のように編集して保存する

# Macが自動生成するファイル
.DS_Store
**/.DS_Store

 6. この .gitignore ファイルもコミットしてPushする

リポジトリ管理(日常の運用)

  1. stackchan フォルダにファイルを追加・編集する

  2. GitHub DesktopでChangesを確認(変更が自動で検知される)

  3. Summary に「何をしたか」を書く(詳しい説明は Description に書く)

  4. Commit to main(自分のPCに履歴を記録)

  5. Push origin(履歴ごとGitHubにバックアップ)


<目次>猫のようなAIと暮らしたい

(1)コンセプト編
(2)開発ロードマップ編
(3)要件定義編
(4)環境構築編←いまここ🐱
(5)Phase0-1:LLMモデルとクラウドAPIの選定
(6)Phase0-2:LLMモデルの比較(実測結果)
(7)Phase0-3:クラウドAPIの疎通テスト

いいなと思ったら応援しよう!