目录

n8n Ollama 教程:使用本地免费模型构建 AI 自动化

使用 OpenAI 等云端模型需要按用量付费,数据也会传到外部。搭配 Ollama,可以让 n8n 使用在自己的电脑或服务器上运行的开源模型:

  • 无需 API 费用
  • 数据完全不会离开你的环境
  • 适合大量、重复的处理(分类、摘要、提取数据)

如果还不熟悉 Ollama,可以先看 Ollama 教程。

准备 Ollama 和模型

ollama pull qwen3:8b        # 聊天模型,中文能力好,支持工具调用
ollama pull bge-m3          # 嵌入模型,用于 RAG

AI Agent 需要支持工具调用的模型(在 ollama.com 上标注为 tools)。

最重要的一步:连接地址

n8n 需要能够连接到 Ollama 的 API(默认端口 11434)。地址取决于两者的安装方式:

n8nOllamaBase 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 显卡,请添加:
    # 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 凭证

  1. 在 AI Agent 的 Chat Model 插槽中选择 Ollama Chat Model。
  2. 创建新的 Ollama 凭证,Base URL 按上表填写。
  3. 保存时,n8n 会测试连接。连接成功后,可以在 Model 下拉菜单中看到已下载的模型。
使用 Ollama Chat Model 的 AI Agent
将 Chat Model 插槽替换为 Ollama Chat Model,即可使用本地模型(红色警示表示尚未设置凭证)

示例:使用本地 AI 对客服邮件分类

[Gmail Trigger] ─▶ [Basic LLM Chain + Ollama Chat Model] ─▶ [Switch 依类别] ─▶ …

不需要工具时,使用 Basic LLM Chain 节点比 AI Agent 更简单、更快。提示词:

请将以下客户来信分类为:询价、订单问题、投诉、其他。
只输出类别名称,不要输出其他文字。

主题:{{ $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模型在内存中保留的时长,频繁使用时调长

使用本地模型的注意事项

  • 速度:取决于你的硬件。在没有显卡的服务器上,8B 模型可能需要几十秒才能回答。
  • 能力:小型本地模型执行复杂的多工具 Agent 任务时,表现通常不如顶级云端模型。用于简单的分类、摘要、翻译、数据提取时效果更好。
  • 工具调用:如果 Agent 不使用工具,可以尝试换成更大或工具调用能力更强的模型,并简化工具数量。

常见错误

错误原因
ECONNREFUSED 127.0.0.1:11434n8n 在 Docker 中运行却填写了 localhost,请改用上表中的地址
model "xxx" not foundOllama 中尚未下载该模型,请先运行 ollama pull
请求超时模型太大、首次加载耗时太长,或只使用 CPU 运行。请换用较小的模型
Agent 回复 "does not support tools"所选模型不支持工具调用

更新于 2026年10月12日