目次
n8n と Ollama を連携:ローカルの無料モデルで AI 自動化
OpenAI などのクラウドモデルは利用量に応じて料金がかかり、データも外部に送信されます。Ollama と組み合わせると、自分のパソコンやサーバーで実行するオープンソースモデルを n8n から利用できます。
- API 費用がかかりません
- データが環境の外に出ません
- 大量かつ繰り返し行う処理(分類、要約、データ抽出)に適しています
Ollama にまだ慣れていない場合は、先に Ollama チュートリアルをご覧ください。
Ollama とモデルを準備する
ollama pull qwen3:8b # チャットモデル、中国語に強く、ツール呼び出しに対応
ollama pull bge-m3 # 埋め込みモデル、RAG 用
AI Agent にはツール呼び出しに対応したモデルが必要です(ollama.com で tools と表示されているモデル)。
最も重要な設定:接続 URL
n8n が Ollama の API(デフォルトポート 11434)に接続できる必要があります。URL はインストール方法によって異なります。
| n8n | Ollama | Base URL |
|---|---|---|
| 直接インストール(npx) | 同じパソコンに直接インストール | http://localhost:11434 |
| Docker | ホストに直接インストール(Windows / macOS) | http://host.docker.internal:11434 |
| Docker | ホストに直接インストール(Linux) | http://host.docker.internal:11434。n8n コンテナに --add-host=host.docker.internal:host-gateway を追加 |
| Docker Compose | 同じ Compose 内の ollama サービス | http://ollama:11434 |
| 任意 | 別のパソコン | http://そのパソコンのIP:11434 |
n8n が Docker コンテナ内にある場合、
localhostはコンテナ自身を指し、パソコンを指しません。接続に失敗する最も一般的な原因です。
Linux ホスト上の Ollama は、デフォルトで 127.0.0.1 のみをリッスンするため、Docker コンテナから接続できないことがあります。OLLAMA_HOST を 0.0.0.0 に設定する必要があります(ファイアウォールで外部からの接続を遮断してください)。設定方法は Ollama の環境変数をご覧ください。
おすすめ:Compose でまとめてデプロイする
services:
n8n:
image: n8nio/n8n
ports:
- "5678:5678"
environment:
GENERIC_TIMEZONE: Asia/Taipei
TZ: Asia/Taipei
volumes:
- n8n_data:/home/node/.n8n
restart: unless-stopped
ollama:
image: ollama/ollama
volumes:
- ollama:/root/.ollama
restart: unless-stopped
# NVIDIA GPU を使用する場合は追加:
# deploy:
# resources:
# reservations:
# devices:
# - driver: nvidia
# count: all
# capabilities: [gpu]
volumes:
n8n_data:
ollama:
docker compose up -d
docker compose exec ollama ollama pull qwen3:8b
n8n の Base URL に http://ollama:11434 を入力します。
Ollama の認証情報を作成する
- AI Agent の Chat Model スロットで Ollama Chat Model を選択します。
- 新しい Ollama 認証情報を作成し、上の表に従って Base URL を入力します。
- 保存時に n8n が接続をテストします。成功すると、Model ドロップダウンにダウンロード済みのモデルが表示されます。

例:ローカル AI で問い合わせメールを分類する
[Gmail Trigger] ─▶ [Basic LLM Chain + Ollama Chat Model] ─▶ [Switch 依類別] ─▶ …
ツールが不要な場合は、AI Agent より Basic LLM Chain ノードのほうが簡単で高速です。プロンプトの例:
次の顧客からのメールを、見積もり依頼、注文に関する問題、苦情、その他に分類してください。
カテゴリ名だけを出力し、それ以外のテキストは出力しないでください。
件名:{{ $json.subject }}
本文:{{ $json.text }}
Require Specific Output Format を有効にして Structured Output Parser に接続すると、モデルが決まった形式の JSON を出力するため、後続ノードで使いやすくなります。
モデルのパラメーター
Ollama Chat Model ノードの Options では、次の項目を調整できます。
| オプション | 説明 |
|---|---|
| Temperature | 分類やデータ抽出では 0~0.3 に設定 |
| Context Length(num_ctx) | 長い文書を処理するときに大きくする |
| Keep Alive | モデルをメモリに保持する時間。頻繁に使う場合は長くする |
ローカルモデルを使う際の注意点
- 速度:ハードウェアによって異なります。GPU のないサーバーでは、8B モデルの回答に数十秒かかることがあります。
- 性能:小型のローカルモデルは、複雑なマルチツール Agent タスクでは最上位のクラウドモデルに及ばないことがよくあります。単純な分類、要約、翻訳、データ抽出には適しています。
- ツール呼び出し:Agent がツールを使わない場合は、より大きいモデルやツール呼び出し性能の高いモデルに切り替え、ツールの数を減らしてみてください。
よくあるエラー
| エラー | 原因 |
|---|---|
ECONNREFUSED 127.0.0.1:11434 | n8n が Docker 内にあるのに localhost を指定しています。上の表の URL に変更してください |
model "xxx" not found | Ollama にそのモデルがまだダウンロードされていません。ollama pull を実行してください |
| リクエストがタイムアウトする | モデルが大きすぎる、初回の読み込みに時間がかかっている、または CPU のみで実行しています。より小さいモデルに切り替えてください |
| Agent の応答が "does not support tools" | 選択したモデルがツール呼び出しに対応していません |
更新日 2026年10月12日