Appearance
liteLLM部署与n8n集成
1️⃣ 部署 LiteLLM(支持代理 + Gemini)
📁 目录结构(建议)
bash
~/litellm/
├── docker-compose.yml
└── config.yaml🔧 docker-compose.yml
yaml
# ~/litellm/docker-compose.yml
version: '3.8'
services:
litellm:
image: berriai/litellm:latest
container_name: litellm
restart: unless-stopped
ports:
- "4000:4000" # LiteLLM OpenAI 兼容 API 端口
volumes:
- ./config.yaml:/app/config.yaml:ro
- ./logs:/app/logs
environment:
- LITELLM_MASTER_KEY="sk-1234" # llm网关的API Key,n8n调用时可随意填写
- UI_USERNAME=litellm # ui登录用户名
- UI_PASSWORD=litellm@123 # ui登录密码
# 关键:让 LiteLLM 出站请求走你的 Clash 代理
- HTTP_PROXY=http://192.168.2.50:7890
- HTTPS_PROXY=http://192.168.2.50:7890
# 如果 Clash 和 LiteLLM 在同一台机器,且允许局域网访问,IP 正确即可
command: ["--config", "/app/config.yaml"]✅ 注意:确保
192.168.2.50:7890是你的 Clash 容器 对局域网开放的 mixed-port(你已配置allow-lan: true,所以没问题)
🔧 config.yaml
yaml
# ~/litellm/config.yaml
model_list:
- model_name: gemini-2.5-flash
litellm_params:
model: models/gemini-2.5-flash
api_key: "YOUR_GEMINI_API_KEY_HERE"
- model_name: gemini-1.5-pro
litellm_params:
model: models/gemini-2.5-pro
api_key: "YOUR_GEMINI_API_KEY_HERE"
# 可选:开启日志(调试用)
litellm_settings:
# 启用费用回调(输出到日志)
success_callback: ["log_response"] # 默认已包含,确保启用
# 可选:失败也记录
failure_callback: ["log_response"]🔑 获取 Gemini API Key:
访问 https://aistudio.google.com/app/apikey → 创建 API Key
▶️ 启动服务
bash
cd ~/litellm
docker-compose up -d✅ 验证是否成功
bash
# 测试是否能通过 LiteLLM 访问 Gemini(走代理)
curl http://localhost:4000/v1/models你应该看到返回包含 gemini-1.5-flash 等模型。
2️⃣ n8n 中配置 “OpenAI Chat Model” 节点
💡 原理:n8n 的 OpenAI 节点 实际调用的是 OpenAI 兼容 API,只要 endpoint 符合规范即可。
步骤(在 n8n Web 界面操作):
- 拖入一个节点 → 搜索 “AI Agent” 或 “OpenAI Chat Model”
- 点击 “Create new credential”
- 填写以下内容:
| 字段 | 值 |
|---|---|
| Credential name | LiteLLM-Gemini(任意) |
| Base URL | http://192.168.2.50:4000 |
| API Key | sk-any-string-here(LiteLLM 不校验,随便填) |
✅
192.168.2.50是运行 LiteLLM 的宿主机 IP(和 Clash 同一台机器)
- 保存凭据
- 在节点设置中:
- Model: 选择
gemini-1.5-flash(必须和config.yaml中的model_name一致) - 其他选项(温度、最大 token 等)按需设置
- Model: 选择
- 连接工具节点(如 “HTTP Request”、“Email”、“Slack” 等),AI Agent 会自动调用!
🧪 测试工作流示例
md
[Start]
↓
[OpenAI Chat Model] → Model: gemini-1.5-flash
↓
[Debug] → 查看 AI 是否成功调用 + 回复你也可以启用 “AI Agent” 模式,让它自动决定是否调用工具。
🛡️ 安全建议(可选)
- 如果 n8n 和 LiteLLM 在同一台机器,建议:
- 改用
network_mode: host或自定义 bridge 网络,避免走公网 IP - 或使用
127.0.0.1(但需确保 n8n 能访问宿主机 localhost)
- 改用
例如,在 docker-compose.yml 中加:
yaml
extra_hosts:
- "host.docker.internal:host-gateway"然后 n8n 中 Base URL 填:http://host.docker.internal:4000
✅ 总结
| 组件 | 作用 |
|---|---|
| Clash | 提供全局代理(HTTP 7890) |
| LiteLLM | 将 Gemini 转为 OpenAI 兼容 API,并走代理出站 |
| n8n OpenAI 节点 | 调用 LiteLLM,获得完整 Agent 能力(工具调用、记忆、多轮对话) |
