0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Azure VM上でOpenClawを構築してAzure OpenAIと連携する方法

0
Posted at

📌 はじめに:OpenClaw とは?

OpenClaw(旧名:Clawdbot → Moltbot → OpenClaw)は、オープンソースのセルフホスト型 AI エージェントフレームワークです。

GitHub スター数は 35万超(2026年4月時点)を誇り、史上最も急成長したオープンソースプロジェクトの一つです。

特徴 内容
ローカルファースト データは自分のサーバー上で管理。クラウド依存なし
マルチチャネル WhatsApp、Telegram、Slack、Teams、Discord など20以上に対応
永続メモリ セッション間でコンテキストを維持
モデル自由選択 GPT-4o、Claude、Gemini、ローカルモデル(Ollama)など
自己拡張 新しいスキルを自律的に作成・追加可能

✅ 前提条件

本手順を始める前に以下を準備してください。

  • Azure VM(Ubuntu 24.04 LTS 推奨)
    • SSH ポートが開放されていること
  • Azure OpenAI リソース
    • gpt-4o モデルがデプロイ済みであること
    • API KeyEndpoint URL を取得済みであること

🔧 Step 1:環境構築(Node.js のインストール)

OpenClaw は Node.js v22.0 以上(推奨は v24)が必要です。

SSH で VM にログイン後、以下を実行します。

# 1. システムパッケージを更新
sudo apt update

# 2. Node.js 22.x を NodeSource 経由でインストール
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs

# 3. バージョン確認(v22.0 以上であることを確認)
node -v

# 4. npm のインストール(念のため)
sudo apt install npm

📦 Step 2:OpenClaw のインストール

Node.js 環境が整ったら、npm でグローバルインストールします。

# 最新版をグローバルインストール
npm install -g openclaw@latest

# 初期設定ウィザードを起動(デーモンも同時インストール)
openclaw onboard --install-daemon

ポイント: --install-daemon オプションで systemd/launchd のデーモンも自動設定されます。本番環境での継続稼働に必要です。

インストール後、動作確認:

openclaw doctor
openclaw status

🌉 Step 3:LiteLLM のセットアップ(Azure OpenAI 連携用)

なぜ LiteLLM が必要?

Azure OpenAI は標準の OpenAI API とは異なるフォーマットを使用します。
LiteLLM は「翻訳官」として Azure OpenAI を標準 OpenAI API 形式に変換し、OpenClaw がシームレスに利用できるようにします。

⚠️ 他のモデル(Anthropic Claude, OpenAI 直接接続等)を使う場合は Step 3 と Step 4 をスキップできます。

3-1. Python 仮想環境の作成

# python3-venv モジュールをインストール
sudo apt install python3.12-venv

# 仮想環境を作成・有効化
python3.12 -m venv ~/litellm-venv
source ~/litellm-venv/bin/activate

3-2. LiteLLM のインストール

pip install "litellm[proxy]"

3-3. 設定ファイルの作成

~/litellm_config.yaml を作成し、以下を記述します。

model_list:
  - model_name: gpt-4o
    litellm_params:
      # 書式: azure/<デプロイ名>
      model: azure/gpt-4o
      # ↓ 自分の Azure Endpoint に変更
      api_base: https://YOUR_RESOURCE_NAME.openai.azure.com
      # ↓ 自分の Azure API Key に変更
      api_key: YOUR_AZURE_API_KEY_HERE
      api_version: "2024-12-01-preview"

general_settings:
  # OpenClaw が LiteLLM に接続する際の認証キー(任意の文字列)
  master_key: sk-my-local-master-key

litellm_settings:
  drop_params: true

🔒 セキュリティ注意: api_keymaster_key はリポジトリに含めないでください。

3-4. LiteLLM の起動

# 仮想環境がアクティブな状態で起動(ポート4000)
litellm --config ~/litellm_config.yaml --port 4000

3-5. 接続テスト

別の SSH ウィンドウを開いて動作確認:

curl -X POST http://localhost:4000/v1/chat/completions \
  -H "Authorization: Bearer sk-my-local-master-key" \
  -H "Content-Type: application/json" \
  -d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "こんにちは"}]}'

Azure OpenAI から応答が返れば成功です 🎉


⚙️ Step 4:OpenClaw の設定(Azure OpenAI モデルを接続)

~/.openclaw/openclaw.json を開き、以下のように編集します。

{
  "agents": {
    "defaults": {
      "model": {
        "primary": "litellm/gpt-4o"
      },
      "models": {
        "litellm/gpt-4o": {
          "alias": "GPT-4o (Azure)"
        }
      }
    }
  },
  "models": {
    "mode": "merge",
    "providers": {
      "litellm": {
        "baseUrl": "http://localhost:4000/v1",
        "apiKey": "sk-my-local-master-key",
        "api": "openai-completions",
        "models": [
          {
            "id": "gpt-4o",
            "name": "GPT-4o (Azure)",
            "reasoning": false,
            "input": ["text", "image"],
            "contextWindow": 128000,
            "maxTokens": 16384
          }
        ]
      }
    }
  }
}

⚠️ apiKey の値は LiteLLM の master_key必ず一致させてください。


🚀 Step 5:OpenClaw の起動とアクセス

5-1. Gateway の起動

# 直接起動(テスト・検証向け)
openclaw gateway --port 18789 --verbose

デーモンで管理する場合(本番環境推奨):

systemctl --user start openclaw-gateway
systemctl --user enable openclaw-gateway  # 自動起動設定

5-2. SSH トンネルでローカルからアクセス(セキュア接続)

Azure VM はデフォルトでポートを公開していません。ローカルPC から安全にアクセスするには SSH トンネルを使います。

ローカルPCのターミナルで実行:

# VM の 18789 ポートをローカルの 18789 にマッピング
ssh -L 18789:localhost:18789 azureuser@YOUR_VM_IP_ADDRESS

5-3. ダッシュボードへのアクセス

VM 上でアクセストークンを取得:

openclaw dashboard --no-open

ターミナルに以下のような URL が表示されます:

Dashboard URL: http://127.0.0.1:18789/?token=dc222cd7...

ローカルPCのブラウザで上記 URL を開けば、OpenClaw ダッシュボードにアクセスできます!


🏗️ アーキテクチャ全体図

[ローカルPC]
    │
    │  SSH トンネル(ポート 18789)
    ▼
[Azure VM - Ubuntu 24.04]
    │
    ├─ OpenClaw Gateway(ポート 18789)
    │      │
    │      ▼
    │  LiteLLM Proxy(ポート 4000)
    │      │
    │      ▼
    │  Azure OpenAI(gpt-4o)
    │
    └─ openclaw.json(設定ファイル)

🛠️ トラブルシューティング

症状 対処法
node -v で v22 未満と表示 NodeSource 経由で再インストール
openclaw: command not found npm prefix -g でパスを確認し、~/.bashrc に追記
LiteLLM のテストが失敗 api_base, api_key, api_version を再確認
ダッシュボードに繋がらない SSH トンネルが正しく張られているか確認
sharp のビルドエラー SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g openclaw@latest を実行

📚 参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?