【n8n教程】:n8n自托管AI入门套件

什么是n8n自托管AI入门套件

n8n自托管AI入门套件 是一个开源的Docker Compose模板,它快速集成了一套完整的本地AI开发环境。最关键的特点是:

套件包含的核心组件

组件作用简单理解
n8n低代码工作流平台大脑 - 协调各个部分的工作
Ollama本地大语言模型运行引擎思考能力 - 让AI在你的电脑上运行
Qdrant高性能向量数据库记忆库 - 存储文档的"记忆"供AI查询
PostgreSQL数据库档案柜 - 安全存储结构化数据

能做什么

AI智能助手:构建会说话的AI机器人,可安排会议、回答问题
📄 PDF智能分析:上传公司文档,AI自动总结关键信息(无数据泄露风险)
💬 Slack超级机器人:增强企业通讯和IT运维效率
💰 财务文档分析:分析发票、合同等敏感文件,成本极低


系统要求与准备工作

硬件要求

配置项最低要求推荐配置
CPU4核8核或更多
RAM内存8GB16GB+(运行LLM需要)
硬盘空间20GB50GB+(存放模型和数据)
网络稳定的互联网连接10Mbps以上

操作系统支持

软件前置条件

在安装n8n套件前,确保已安装:

  1. 1. Git - 版本控制工具,用于克隆代码库
  2. 2. Docker & Docker Compose - 容器化平台

快速验证环境

打开你的终端或命令提示符,逐行运行以下命令:


    
    
    
  # 检查Git
git --version

# 检查Docker

docker --version

# 检查Docker Compose

docker compose version

# 可选:检查硬盘空间(Linux/Mac)

df
 -h

如果所有命令都输出版本号,说明你已经准备好了!


安装步骤详解

步骤1:克隆官方代码库

打开你的终端,进入一个你想存储项目的目录,然后运行:


    
    
    
  git clone https://github.com/n8n-io/self-hosted-ai-starter-kit.git
cd
 self-hosted-ai-starter-kit

这个命令会下载整个项目到你的电脑。cd 命令则进入该项目目录。

步骤2:复制并配置环境变量文件


    
    
    
  # 复制示例配置文件
cp
 .env.example .env

现在打开 .env 文件(用记事本或任何文本编辑器),你会看到类似这样的内容:


    
    
    
  # Ollama 配置
OLLAMA_HOST=ollama:11434
OLLAMA_MODELS=llama3.2

# PostgreSQL 配置

POSTGRES_USER=admin
POSTGRES_PASSWORD=your_secure_password_here
POSTGRES_DB=n8n

# Qdrant 配置

QDRANT_PORT=6333

# n8n 配置

N8N_HOST=0.0.0.0
N8N_PORT=5678

🔒 安全提示

步骤3:根据你的操作系统选择运行方式

💻 Windows用户(使用GPU加速)


    
    
    
  docker compose --profile gpu-nvidia up

💻 Windows/Linux用户(仅CPU,推荐新手)


    
    
    
  docker compose --profile cpu up

🍎 Mac用户(M1/M2/M3芯片)

如果你想在Mac上使用GPU加速,需要额外步骤。首先在Mac上本地安装Ollama:


    
    
    
  # 从官网下载:https://ollama.ai
# 安装后,修改 .env 文件中的:

OLLAMA_HOST=host.docker.internal:11434

然后运行:


    
    
    
  docker compose up

🍎 Mac用户(仅CPU)


    
    
    
  docker compose --profile cpu up

步骤4:等待容器启动

首次运行时,Docker会下载所有必要的镜像和模型(可能需要5-20分钟)。你会看到类似这样的输出:


    
    
    
  n8n-postgre  | PostgreSQL 14.0 on x86_64-pc-linux-gnu
n8n-ollama   | Downloading model...
n8n-qdrant   | Qdrant vector database started
n8n-n8n      | Editor is now accessible via: http://localhost:5678/

✅ 当你看到 Editor is now accessible via: http://localhost:5678/ 时,说明安装完成!

步骤5:验证安装成功

打开你的浏览器,访问:http://localhost:5678

你应该会看到n8n的欢迎界面。如果看到设置页面,说明是第一次使用,按照提示设置即可。


界面入门与基础操作

n8n工作台全景

n8n的界面分为几个主要区域,理解它们能帮助你快速上手:


    
    
    
  ┌─────────────────────────────────────────────────────────────┐
│ 顶部菜单栏(保存、执行、设置)                              │
├──────────────────┬──────────────────────────────────────────┤
│ 左侧节点库       │ 中央画布(拖拽构建工作流)             │
│ - 触发器         │                                          │
│ - 核心节点       │                                          │
│ - AI节点         │                                          │
│ - 数据转换       │                                          │
├──────────────────┼──────────────────────────────────────────┤
│                  │ 右侧检查器(配置节点参数)             │
└──────────────────┴──────────────────────────────────────────┘

关键术语解释

术语含义比喻
Workflow工作流一个完整的自动化流程
Node节点流程中的每一步
Trigger触发器工作流的起点,定义何时启动
Connection连接节点之间的数据流向
Input/Output输入/输出数据进出节点的接口

常用快捷键


快速开始第一个工作流

创建你的第一个工作流

第1步:新建工作流

  1. 1. 登录 http://localhost:5678
  2. 2. 点击右上角 "创建工作流" 按钮
  3. 3. 给工作流起个名字,例如:"我的第一个AI工作流"

第2步:添加触发器

在n8n中,每个工作流都需要一个触发器(Trigger),它定义工作流何时启动。

  1. 1. 点击中央空白画布
  2. 2. 在左侧节点库中搜索 "Manual Trigger"(手动触发器)
  3. 3. 拖拽添加到画布上

这个触发器让你可以通过点击按钮手动启动工作流。

第3步:添加处理节点

现在添加一个简单的节点来处理数据。我们从 "Set" 节点开始(这个节点可以创建或修改变量):

  1. 1. 点击Manual Trigger节点右侧的 "+"
  2. 2. 搜索 "Set" 节点
  3. 3. 拖拽添加

第4步:配置Set节点

在右侧的检查器面板中:

  1. 1. 点击 "Add Field" 按钮
  2. 2. 在 Name 栏输入:greeting
  3. 3. 在 Value 栏选择 "String" 类型,输入:"你好,AI世界!"
  4. 4. 点击 "Save"

第5步:测试工作流

  1. 1. 点击右上角的 "Execute Workflow" 按钮
  2. 2. 查看输出:在右侧会显示 {"greeting": "你好,AI世界!"}

🎉 恭喜! 你已经创建了第一个n8n工作流!

在这个过程中你学到了


完整案例:本地PDF智能分析机器人

现在让我们创建一个真正有用的工作流:用你的本地AI分析PDF文档

工作流逻辑说明

这个工作流将:

  1. 1. 接收输入 - 通过Webhook接收PDF文件上传请求
  2. 2. 提取文本 - 从PDF中提取文本内容
  3. 3. AI分析 - 使用本地Ollama模型分析文档
  4. 4. 返回结果 - 发送分析结果给用户

前置准备

在创建工作流前,确保:

  1. 1. Ollama模型已下载
    
        
        
        
      # 在终端运行(或等待第一次启动时自动下载)
    ollama pull llama3.2
  2. 2. 确认各组件正常运行
    • • 访问 http://localhost:5678 - n8n界面
    • • 访问 http://localhost:6333 - Qdrant向量数据库管理界面

工作流JSON代码

将下面的JSON代码复制到你的n8n中。这是一个完整的、可运行的PDF分析工作流:


    
    
    
  {
  "name"
: "本地PDF智能分析机器人",
  "nodes"
: [
    {

      "parameters"
: {
        "path"
: "ai-pdf-analyzer",
        "responseMode"
: "lastNode",
        "options"
: {}
      }
,
      "id"
: "webhook-trigger",
      "name"
: "Webhook Trigger",
      "type"
: "n8n-nodes-base.webhook",
      "typeVersion"
: 1,
      "position"
: [250, 300],
      "webhookId"
: "webhook"
    }
,
    {

      "parameters"
: {
        "binaryPropertyName"
: "data"
      }
,
      "id"
: "extract-pdf",
      "name"
: "Extract from PDF",
      "type"
: "n8n-nodes-base.extractFromFile",
      "typeVersion"
: 1,
      "position"
: [450, 300],
      "credentials"
: {}
    }
,
    {

      "parameters"
: {
        "model"
: "llama3.2",
        "prompt"
: "请仔细阅读下面的文档内容,然后提供以下信息:\n\n1. 文档的主要内容摘要(3-5句话)\n2. 关键要点(列出3-5个)\n3. 可能的应用场景\n\n文档内容:\n{{ $json.text }}",
        "options"
: {}
      }
,
      "id"
: "ollama-chat",
      "name"
: "Ollama Chat Model",
      "type"
: "n8n-nodes-base.openaiChat",
      "typeVersion"
: 1,
      "position"
: [650, 300]
    }
,
    {

      "parameters"
: {
        "requestMethod"
: "POST",
        "url"
: "={{ $env.N8N_BASE_URL }}/webhook/{{ $execution.id }}",
        "sendBinaryData"
: false,
        "specifyBody"
: "json",
        "jsonBody"
: "{\n  \"status\": \"success\",\n  \"analysis\": {{ $json.message.content }},\n  \"timestamp\": \"{{ $now.toIso() }}\"\n}",
        "options"
: {}
      }
,
      "id"
: "respond-webhook",
      "name"
: "Respond to Webhook",
      "type"
: "n8n-nodes-base.respondToWebhook",
      "typeVersion"
: 1,
      "position"
: [850, 300]
    }

  ]
,
  "connections"
: {
    "webhook-trigger"
: {
      "main"
: [
        [

          {

            "node"
: "extract-pdf",
            "type"
: "main",
            "index"
: 0
          }

        ]

      ]

    }
,
    "extract-pdf"
: {
      "main"
: [
        [

          {

            "node"
: "ollama-chat",
            "type"
: "main",
            "index"
: 0
          }

        ]

      ]

    }
,
    "ollama-chat"
: {
      "main"
: [
        [

          {

            "node"
: "respond-webhook",
            "type"
: "main",
            "index"
: 0
          }

        ]

      ]

    }

  }

}

导入工作流的步骤

方法一:从URL导入(推荐)

  1. 1. 在n8n主页,点击 "创建工作流"
  2. 2. 点击右上角三个点 "..." 菜单
  3. 3. 选择 "Import from URL"
  4. 4. 粘贴一个官方模板的URL

方法二:手动导入JSON代码

  1. 1. 创建一个新工作流
  2. 2. 右上角点击 "...""Import from File"
  3. 3. 选择包含上面JSON代码的.json文件
  4. 4. 系统会自动加载所有节点和连接

方法三:粘贴导入(最简单)

  1. 1. 复制上面的JSON代码
  2. 2. 在空白工作流画布中按 Ctrl+V(Windows)或 Cmd+V(Mac)
  3. 3. 系统会自动导入节点

配置工作流的关键参数

配置1:Webhook Trigger节点

这个节点接收外部的PDF上传请求。

  1. 1. 点击 "Webhook Trigger" 节点
  2. 2. 在右侧配置面板中,你会看到一个 Webhook URL
  3. 3. 复制这个URL供外部应用调用
  4. 4. 启用 "Authenticate Webhook" 以增加安全性

配置2:Extract from PDF节点

这个节点从PDF中提取文本。

  1. 1. 点击 "Extract from PDF" 节点
  2. 2. 在 "Input Binary Field" 中确保填写 data(来自webhook的文件)
  3. 3. 保存

配置3:Ollama Chat Model节点

这是AI分析的核心!

  1. 1. 点击 "Ollama Chat Model" 节点
  2. 2. Model 选择 llama3.2(或你安装的其他模型)
  3. 3. Prompt 中可以自定义分析指令
  4. 4. 示例提示词:
    
        
        
        
      请分析这份文档:
    - 主题是什么?
    - 关键信息有哪些?
    - 这份文档的用途是什么?

    文档内容:{{ $json.text }}

配置4:Respond to Webhook节点

这个节点返回分析结果给用户。

  1. 1. 点击 "Respond to Webhook" 节点
  2. 2. Status Code 设置为 200(表示成功)
  3. 3. Response Body 是返回给用户的JSON数据
  4. 4. 保存

测试工作流

方式1:使用n8n测试按钮

  1. 1. 确保工作流已保存
  2. 2. 点击 "Execute Workflow" 按钮
  3. 3. 右侧会显示执行结果

方式2:使用curl命令测试(真实模拟)

打开终端,运行以下命令(替换YOUR_WEBHOOK_URL为实际的webhook链接):


    
    
    
  # 假设你有一个test.pdf文件
curl -X POST http://localhost:5678/webhook/ai-pdf-analyzer \
  -H "Content-Type: multipart/form-data" \
  -F "file=@test.pdf"

方式3:使用Postman或Insomnia

  1. 1. 打开Postman
  2. 2. 新建POST请求
  3. 3. URL设置为你的Webhook地址
  4. 4. Body中选择 "form-data" 类型
  5. 5. 添加参数:Key=file,Value=选择你的PDF文件
  6. 6. 点击Send

预期输出示例

如果一切配置正确,你会收到这样的响应:


    
    
    
  {
  "status"
: "success",
  "analysis"
: "这份PDF文档主要介绍了人工智能的基本概念。关键要点包括:1. AI的定义和发展历程;2. 机器学习的三个主要类型;3. 深度学习的应用...",
  "timestamp"
: "2025-12-03T13:40:00Z"
}

扩展功能

这个基础工作流可以进一步扩展:

添加向量存储(Qdrant)来记忆文档内容,支持后续查询:

添加多模型支持

添加错误处理

持久化存储结果


常见问题解答

Q1: 安装后访问 localhost:5678 看不到n8n界面?

A: 检查以下几点:

Q2: Ollama模型下载很慢,如何加快?

A:

Q3: PDF提取出来的文本乱码或格式不对?

A:

Q4: AI的回答不够准确或过于简洁?

A:

Q5: 容器无法启动,出现内存或GPU错误?

A:

Q6: 如何更新到最新版本?

A:


    
    
    
  # 进入项目目录
cd
 self-hosted-ai-starter-kit

# 拉取最新代码

git pull origin main

# 根据你的设置拉取最新镜像

docker compose --profile gpu-nvidia pull

# 重启容器

docker compose --profile gpu-nvidia up

Q7: 工作流保存在哪里?可以备份吗?

A:


故障排查速查表

问题可能原因解决方案
访问不了localhost:5678Docker未启动或n8n容器崩溃docker compose ps 检查状态,docker compose logs n8n 查看日志
PDF提取失败文件格式不支持或文件损坏试试其他PDF文件,确保是有效的PDF
AI回答"connection refused"Ollama服务未启动docker compose ps 检查ollama容器,或重启 docker compose restart ollama
节点无法连接节点类型不兼容检查两个节点的Input/Output类型是否匹配
工作流执行超时处理时间过长或模型卡住调整超时设置,或简化工作流逻辑

总结

n8n自托管AI套件的三个超强优势:

  1. 1. 隐私第一 - 敏感数据永不上传,完全本地处理
  2. 2. 零成本运行 - 开源免费,无按量付费,无月费
  3. 3. 高度定制 - 400+集成,可视化构建,无需编程

官方文档[3]
n8n系列教程[4]

引用链接

[1] 下载地址: https://git-scm.com/download
[2] 下载地址: https://www.docker.com/products/docker-desktop
[3] 官方文档: https://docs.n8n.io/hosting/starter-kits/ai-starter-kit/
[4] n8n系列教程: https://www.undsky.com/blog/?category=n8n%E6%95%99%E7%A8%8B#