还在为云端AI费用发愁?把大模型搬回家自己用!
各位 N8N 大学的同学们,大家好,我是你们的学长。最近 AI 圈子里最火的词是什么?肯定是“本地部署大模型”。
说实话,看着云端 API 的账单每天都在跳动,确实肉疼。而且有些数据上云,总感觉不放心。作为一名折腾了 8 年自动化的老司机,我一直在思考:能不能把 n8n 强大的工作流能力,和本地跑的 Ollama 大模型结合起来?
答案是:完全可以!而且配置起来比你想象的要简单。
今天,这篇硬核教程就带大家实操一把,把 n8n 的 AI 节点直接指向你电脑或服务器上的本地模型。全程大白话,拒绝废话,直接上手。
准备工作:磨刀不误砍柴工
在开始搭建工作流之前,我们需要确保环境就位。这就像做饭前得先买好菜一样。
你需要具备以下条件:
- n8n 环境:无论是 Docker 部署的、云服务器上的,还是本地安装的 n8n 均可。
- 本地大模型运行环境:目前最推荐的依然是 Ollama。如果你还没安装,请先去安装并拉取一个模型(比如
qwen2:7b或llama3.1:8b)。 - 一点点耐心:跟着步骤走,不要跳步。
笔者提示: 本地部署对硬件有一定要求,建议显存至少 8GB 以上。如果显存不够,跑小参数模型也能凑合,但速度会慢一些。
核心实操:三步搞定本地模型调用
很多同学以为 n8n 的 AI 节点只能接 OpenAI 或官方的大模型。其实,n8n 的设计非常灵活,只要遵循 OpenAI 兼容的协议,就能无缝接入本地模型。
第一步:确认 Ollama 服务正常运行
首先,打开你的终端(Terminal 或 CMD),输入以下命令,确保 Ollama 正在监听本地端口:
ollama serve
通常情况下,Ollama 默认运行在 11434 端口。你可以通过浏览器访问 http://localhost:11434,如果看到 "Ollama is running" 的字样,说明服务正常。
关键点: 如果你是用 Docker 部署的 n8n,且 Ollama 也在另一个容器中,你需要确保这两个容器在同一个网络下,或者 Ollama 暴露了端口给宿主机。
第二步:配置 n8n 的 Chat Model 节点
现在,进入 n8n 的工作流编辑界面:
- 新建一个工作流,添加一个 Start 节点作为触发器。
- 在节点库中搜索 "AI",找到并添加 Chat Model (聊天模型) 节点。
- 点击节点,在右侧的配置面板中,Credentials(凭证)部分,点击下拉菜单选择 "Create New"。
这里是最关键的一步。在选择凭证类型时,不要只盯着 OpenAI,我们需要利用 n8n 的兼容性:
- Credential Type: 选择 OpenAI API。是的,你没看错,Ollama 也是兼容 OpenAI 格式的。
- Base URL: 填入
http://localhost:11434/v1。注意,必须加上/v1后缀,这是 OpenAI 兼容接口的标准路径。 - API Key: 这里是个坑点。Ollama 默认不需要 API Key,但 n8n 这个字段是必填的。你可以随意填入一个字符串,比如
ollama,只要格式对就行。 - Model: 填入你本地安装的模型名称,例如
qwen2:7b。
保存凭证后,回到节点配置,选择刚才创建的凭证,你会发现模型列表可能没有自动刷新,但没关系,手动输入模型名称即可。
第三步:连接测试与工作流验证
为了验证是否配置成功,我们需要一个输入和一个输出。
- 添加一个 Chat Trigger (聊天触发器) 节点,连接到 Chat Model 节点。
- 添加一个 Response (响应) 节点,连接到 Chat Model 的输出。
- 点击 Chat Trigger 节点,点击 "Chat" 按钮打开测试聊天窗口。
- 输入 "你好,你是谁?" 并发送。
如果你看到回复框里出现了本地模型的响应,恭喜你,你已经成功打通了 n8n 与本地大模型的链路!
避坑指南:实测中遇到的拦路虎
虽然配置过程看起来简单,但在实际操作中,尤其是涉及 Docker 环境时,很容易踩坑。
1. Docker 网络隔离问题
如果你的 n8n 跑在 Docker 容器里,而 Ollama 跑在宿主机上(或者另一个容器里),直接填 localhost:11434 是无法访问的。
解决方案:
- 方案 A(宿主机网络):启动 n8n 容器时,加上参数
--network host,让容器共享宿主机的网络栈。 - 方案 B(IP 直连):如果是跨容器,使用 docker 网桥的 IP 地址(通常是 172.x.x.x)代替 localhost。
2. 模型名称拼写错误
n8n 节点里的 Model 字段必须与 Ollama 中的模型标签完全一致。大小写敏感!
查看本地模型列表的命令:
ollama list
复制输出中的 NAME 列,不要带版本号(除非你特意指定了版本)。
3. 温度参数 (Temperature) 的设置
在 Chat Model 节点设置中,有一个 Temperature 参数。默认可能是 0.7 或 1.0。
对于本地模型,特别是参数量较小的模型,如果温度太高,容易出现胡言乱语(幻觉)。建议在测试阶段将其调低至 0.1 - 0.3,以获得更稳定的输出。
进阶应用:不仅仅是聊天
打通了基础链路,我们就能做很多更有意思的自动化了。
比如,你可以将 HTTP Request 节点或 Google Sheets 节点连接到这个 AI 模型。
场景示例:
- 从 Google Sheets 读取一行客户反馈。
- 发送给本地 Ollama 模型,要求以 JSON 格式总结情绪(正向/负向)。
- 将结果写回表格的另一列。
这完全是在本地完成的,既保护了隐私,又节省了 Token 费用。
FAQ 常见问题解答
Q1: 为什么我填了 Base URL 还是报 Connection Refused?
A: 大概率是网络问题。如果是 Docker 部署,请检查容器网络;如果是本地部署,检查 Ollama 是否真的在运行(ps aux | grep ollama)。另外,确保端口没有被防火墙拦截。
Q2: 能否使用其他本地模型框架,比如 LM Studio?
A: 可以!只要 LM Studio 开启了 "Local Server" 模式,并且提供了 OpenAI 兼容的 API 地址(通常是 http://localhost:1234/v1),配置方法与 Ollama 完全一致。
Q3: 本地模型推理速度慢,导致 n8n 工作流超时怎么办?
A: 在 n8n 的 AI 节点设置中,可以尝试调整 Timeout(超时时间),将其设置得更长一些(如 60000ms)。同时,尽量优化本地模型的参数,使用较小的上下文窗口。
总结与资源
将 n8n 与本地大模型结合,是构建私有化、低成本自动化流程的绝佳方案。通过简单的 OpenAI 兼容配置,我们打破了云端与本地的壁垒。
作为 N8N 大学的首席主编,我建议大家先在测试环境中跑通这个流程,再逐步应用到生产环境。毕竟,本地模型的稳定性还需要时间来打磨。
相关资源推荐:
- Ollama 官方文档:ollama.com
- N8N 官方 GitHub:n8n-io/n8n
如果你在配置过程中遇到了其他奇怪的报错,欢迎在 N8N 大学的评论区留言,学长会第一时间帮你分析解决!