前言
n8n是一个开源的工作流自动化工具,类似于Zapier但可以自托管。结合LLM(大语言模型),n8n可以实现智能化的工作流自动化。本文介绍如何用n8n+LLM打造企业级智能工作流。
一、n8n简介与安装
1.1 为什么选择n8n
- 开源免费:社区版完全免费,可自托管
- 可视化编辑:拖拽式工作流设计,无需编码
- 400+集成:支持各种第三方服务
- 自托管:数据完全掌控,适合企业
- AI节点:内置LLM相关节点
1.2 Docker安装
# 单机部署
docker run -d \
--name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
-e N8N_BASIC_AUTH_ACTIVE=true \
-e N8N_BASIC_AUTH_USER=admin \
-e N8N_BASIC_AUTH_PASSWORD=your_password \
-e GENERIC_TIMEZONE=Asia/Shanghai \
n8nio/n8n
# Docker Compose部署(推荐)
version: '3.8'
services:
n8n:
image: n8nio/n8n
ports:
- "5678:5678"
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=your_password
- GENERIC_TIMEZONE=Asia/Shanghai
volumes:
- n8n_data:/home/node/.n8n
postgres:
image: postgres:15
environment:
POSTGRES_DB: n8n
POSTGRES_USER: n8n
POSTGRES_PASSWORD: your_password
volumes:
- pg_data:/var/lib/postgresql/data
volumes:
n8n_data:
pg_data:
二、LLM节点配置
2.1 OpenAI节点
n8n内置了OpenAI节点,可以直接调用GPT模型:
# 工作流配置
1. 触发器:Webhook / Schedule / 手动
2. OpenAI节点:
- Resource: Chat
- Operation: Message
- Model: gpt-3.5-turbo
- Messages:
- Role: System
Content: "你是一个专业的邮件分类助手"
- Role: User
Content: "={{$json.email_body}}"
3. IF节点:根据分类结果分支处理
2.2 HTTP Request节点调用任意LLM
# 调用本地Ollama
POST http://localhost:11434/api/generate
Content-Type: application/json
{
"model": "deepseek-coder:6.7b",
"prompt": "={{$json.prompt}}",
"stream": false
}
# 调用Claude API
POST https://api.anthropic.com/v1/messages
Headers:
x-api-key: your_api_key
anthropic-version: 2023-06-01
content-type: application/json
{
"model": "claude-sonnet-4-20250514",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "={{$json.prompt}}"}]
}
三、实战案例
3.1 邮件自动分类回复
工作流程:
- IMAP节点:监听新邮件(每5分钟检查一次)
- 数据提取:提取发件人、主题、正文
- LLM分类:将邮件分为"咨询/投诉/合作/垃圾"
- IF分支:根据不同类别执行不同流程
- LLM回复:根据类别生成回复内容
- SMTP发送:自动发送回复邮件
# 分类Prompt
你是一个邮件分类助手。请将以下邮件分类为以下类别之一:
- 咨询:询问产品或服务信息
- 投诉:表达不满或报告问题
- 合作:提出商业合作意向
- 垃圾:广告、推销等无关邮件
邮件主题:{{$json.subject}}
邮件正文:{{$json.body}}
请只返回类别名称,不要返回其他内容。
3.2 文档自动摘要
# 工作流节点
1. Schedule Trigger (每天早上9点)
2. Google Drive (获取指定文件夹的新文档)
3. HTTP Request (调用LLM生成摘要)
Prompt: "请为以下文档生成200字以内的摘要,包含关键信息和行动项:{{$json.content}}"
4. Notion (保存摘要到知识库)
5. Slack (通知团队新文档摘要)
3.3 数据自动报表
# 工作流节点
1. Schedule Trigger (每周一早上8点)
2. MySQL (查询销售数据)
3. Code节点 (格式化数据)
4. OpenAI (生成分析报告)
Prompt: "基于以下销售数据,生成周报分析,包含趋势、问题和建议:{{$json.data}}"
5. Gmail (发送报表邮件)
6. Google Sheets (记录历史报表)
四、Webhook触发
# 配置Webhook触发器
URL: https://your-n8n.com/webhook/ai-process
Method: POST
# 外部系统调用示例
curl -X POST https://your-n8n.com/webhook/ai-process \
-H "Content-Type: application/json" \
-d '{
"type": "summarize",
"content": "需要摘要的长文本...",
"callback_url": "https://your-server.com/callback"
}'
# n8n处理后自动调用callback_url返回结果
五、监控与优化
# n8n执行日志查看
docker logs n8n --tail 100 -f
# 性能优化建议
1. 使用PostgreSQL替代SQLite(生产环境必须)
2. 配置Redis缓存(减少重复API调用)
3. 设置工作流错误处理(避免单点失败)
4. 使用标签组织工作流(便于管理)
5. 定期清理执行历史(释放存储空间)
总结
n8n+LLM是构建AI自动化工作流的绝佳组合,无需编码即可实现复杂的智能流程。通过本文的实战案例,你可以快速搭建邮件自动处理、文档摘要、数据报表等自动化工作流。
如果需要专业的自动化方案设计或n8n部署服务,欢迎联系17老师。
关于17老师:AI应用 · 数字化管理 · 全栈开发 · 网络安全全栈专家。联系邮箱:j.d88888888@qq.com,微信:AFIST17