手把手教小白搭建本地 n8n 知识库,实用又简单,大模型入门到精通,收藏这篇就足够了!

本地搭建n8n知识库教程

估计大家都想过,干活的时候如果能有多个分身就好了。一个能了解我们所有文档、笔记,能直接按照我们自己的写作风格来写作的AI助手。

听起来是不是很科幻,而且觉得实现起来一定又贵又复杂?

今天,我将带你亲手打破这个不可能!

不需要昂贵的费用,也不需要复杂的部署。我将介绍一个简单又可靠的方案:利用免费开源的 n8n 和 pgvector,在本地电脑上搭建一个永久属于你、完全私有、且无限强大的本地知识库。

✨知识库能帮你做什么?

成为你的个人写作助手
  • 个人写作助手:将自己过去写过的所有文章都存入知识库,这个AI就成了你的写作助理。只要提出需求,它就能帮你快速,生和你风格一致的内容。
构建你的专属领域专家
  • AI客服:将公司所有的手册、文档等全部导入。当新员工有任何问题时,这个 AI 能提供基于官方资料的准确回答,节省大量人工培训的时间。
  • 法律助手:导入海量的法律条文、判例等。当你需要快速查找相关资料时,它能帮你从众多文献中迅速定位、提炼出关键信息。
拥有一个超级大脑

把所有的读书笔记、会议纪要、一闪而过的灵感等,所有信息碎片都扔给它。让大脑只负责思考和创造,而它负责记忆一切。需要什么,只需要问它,就能给出回答。

最关键的是,这一切都运行在你的本地设备上,数据 100% 私有,存储完全免费! 这就是这套 n8n + pgvector 方案的真正魅力所在。现在,让我们一起动手,把这个强大的 AI 大脑变为现实!

这篇文章花了比较长的时间整理,因为我尝试了多种方式,最终找到了一种简单且实用的方法,在 n8n 中调用知识库。本文聚焦 免费开源方案,收费节点虽多,但不在本文讨论范围内,我们要的就是 免费。

首先,n8n 默认自带的 VectorStore 并不能持久化存储。

在尝试过程中,我也测试过 Qdrant(对新手不太友好)、Supabase Vector(免费额度可能不够长期使用)、FastGPT、Dify、RagFlow 等方案。后面这三种虽然可以通过 Docker 安装,但安装与配置过程中问题较多,对新手不太友好。如果大家需要,后续可以单独出一期教程。

本文讲解 如何使用本地部署的 pgvector 来存储知识库。

先看效果:

搭建一个 n8n 工作流,该工作流能够接收用户问题,从本地的 pgvector 数据库中检索相关的知识片段,并利用大语言模型(LLM)生成精准、忠于原文的回答。

总览图:


第一步:环境搭建 (Docker Compose)

docker-compose.yaml文件:

services:  n8n:    image:n8nio/n8n    container_name:n8n    restart:always    ports:      -"5678:5678"# 外部访问端口映射    environment:      -GENERIC_TIMEZONE=Asia/Shanghai# 设置时区      -TZ=Asia/Shanghai                # 设置时区      -N8N_DEFAULT_LOCALE=zh-CN        # 设置语言      -N8N_HOST=你的域名                # aaa.com      -N8N_PORT=5678      -WEBHOOK_URL=https://你的域名/    # https://aaa.com/    volumes:      -./n8n_data:/home/node/.n8n   # 持久化数据      # 要想中文生效,需配置下面这个语言包(路径使用自己的)      #- D:\n8n-i18n-chinese-n8n-1.111.1\editor-ui-dist:/usr/local/lib/node_modules/n8n/node_modules/n8n-editor-ui/dist cloudflared:    image:cloudflare/cloudflared:latest    container_name:cloudflared    restart:always    command:tunnelrun    environment:      -TUNNEL_TOKEN=粘贴你刚刚从Cloudflare复制的TOKENpostgres:    image:ankane/pgvector:latest    container_name:pgvector    restart:always    environment:      POSTGRES_DB:n8ndb      POSTGRES_USER:testuser      POSTGRES_PASSWORD:testpwd    ports:      -"5432:5432"    volumes:      -pgdata:/var/lib/postgresql/data# 持久化存储pgadmin:#数据库的可视化界面(非必需,可以查看数据库中的数据)    image:dpage/pgadmin4:latest    container_name:pgadmin    restart:always    environment:      PGADMIN_DEFAULT_EMAIL:admin@example.com      PGADMIN_DEFAULT_PASSWORD:admin1234    ports:      -"8080:80"    depends_on:      -postgresvolumes:pgdata:    name:pgdata   # 显式命名,防止重复创建

powershell中启动容器:

首次启动要拉取 pgvector 和 pgadmin 的镜像,所以会比较慢。

docker compose up -d

第二步:在 n8n 中配置凭证 (Credentials)

服务启动后,我们需要在 n8n 中设置凭证,以便工作流可以连接到数据库和 AI 模型服务。

1. n8n中创建postgre的授权:

2. 配置硅基流动 (Silicon Flow) 凭证

2.1 创建硅基流动的密钥

打开硅基流动:https://cloud.siliconflow.cn/i/eFZEVvvs

2.2 在 n8n 中创建凭证(使用OpenAI节点):


第三步:构建 n8n 知识库工作流

文章太长了,就不挨个节点截图了,直接复制粘贴下面的文件内容。

工作流文件:

{  "name":"知识库","nodes":[    {      "parameters":{        "mode":"insert",        "options":{}      },      "type":"@n8n/n8n-nodes-langchain.vectorStorePGVector",      "typeVersion":1.3,      "position":[        -608,        -176      ],      "id":"4bb199dc-d05a-4e81-b259-9031684b2215",      "name":"Postgres PGVector Store",      "credentials":{        "postgres":{          "id":"wmKaO3JW6iGFflPY",          "name":"Postgres account"        }      }    },    {      "parameters":{        "model":"Qwen/Qwen3-Embedding-8B",        "options":{}      },      "type":"@n8n/n8n-nodes-langchain.embeddingsOpenAi",      "typeVersion":1.2,      "position":[        -592,        304      ],      "id":"f4506794-101a-45db-aa85-a4b0d97c5156",      "name":"Embeddings OpenAI",      "credentials":{        "openAiApi":{          "id":"xUeThZ76LLk7Z9WB",          "name":"OpenAi account"        }      }    },    {      "parameters":{        "dataType":"binary",        "textSplittingMode":"custom",        "options":{}      },      "type":"@n8n/n8n-nodes-langchain.documentDefaultDataLoader",      "typeVersion":1.1,      "position":[        -432,        -48      ],      "id":"84b22437-d16f-4d92-8763-0903aa66eb97",      "name":"Default Data Loader"    },    {      "parameters":{        "chunkOverlap":50,        "options":{}      },      "type":"@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",      "typeVersion":1,      "position":[        -432,        96      ],      "id":"35cb8b94-1d3d-48fe-b47d-b20f58b5b64e",      "name":"Recursive Character Text Splitter"    },    {      "parameters":{        "public":true,        "mode":"webhook",        "options":{}      },      "id":"3cada43d-bf31-4c84-b992-161156681a30",      "name":"When chat message received",      "type":"@n8n/n8n-nodes-langchain.chatTrigger",      "position":[        0,        -192      ],      "webhookId":"dec328cc-f47e-4727-b1c5-7370be86a958",      "typeVersion":1.1    },    {      "parameters":{        "options":{          "systemMessage":"=# 概述\n你是一个 AI 代理,严格使用 pgvector 向量库中存储的文档嵌入信息进行响应。\n\n## 上下文\n- 该代理旨在提供准确的、基于文档的答案。\n- 必须避免使用外部知识或假设。\n\n## 说明\n1. 分析用户的问题。\n2. 使用 pgvector 从文档嵌入中检索相关内容。\n3. 仅根据匹配的文档块构建响应。\n\n## 工具\n- 包含嵌入文档的向量库pgvector store\n- Embeddings OpenAI\n\n## SOP(标准操作程序)\n1. 接收用户查询。\n2. 在向量库中搜索相关的文档块。\n3. 仅使用该内容提取并合成答案。\n4. 如果没有匹配项,则提示找不到。\n\n## 最后说明\n- 不要依赖先前的训练或外部事实。\n- 答复必须严格以向量库的文档为依据。"        }      },      "id":"a33071a4-a989-4fe0-b5c3-2e17d4a4c522",      "name":"Question & Answer Retrieve",      "type":"@n8n/n8n-nodes-langchain.agent",      "position":[        320,        -192      ],      "typeVersion":1.8    },    {      "parameters":{        "model":{          "__rl":true,          "value":"Qwen/Qwen3-32B",          "mode":"list",          "cachedResultName":"Qwen/Qwen3-32B"        },        "options":{}      },      "id":"90b5bcc0-6dc6-4102-a3f7-93783ebbb53d",      "name":"OpenAI Chat Modell",      "type":"@n8n/n8n-nodes-langchain.lmChatOpenAi",      "position":[        208,        64      ],      "typeVersion":1.2,      "credentials":{        "openAiApi":{          "id":"xUeThZ76LLk7Z9WB",          "name":"OpenAi account"        }      }    },    {      "parameters":{        "mode":"retrieve-as-tool",        "toolDescription":"work with documents data in pgvector store",        "includeDocumentMetadata":false,        "options":{}      },      "type":"@n8n/n8n-nodes-langchain.vectorStorePGVector",      "typeVersion":1.3,      "position":[        544,        80      ],      "id":"4e1dd572-53e9-4a27-826c-6fec07085029",      "name":"Postgres PGVector Store1",      "notesInFlow":false,      "credentials":{        "postgres":{          "id":"wmKaO3JW6iGFflPY",          "name":"Postgres account"        }      }    },    {      "parameters":{        "formTitle":"上传文件",        "formFields":{          "values":[            {              "fieldLabel":"文件",              "fieldType":"file"            }          ]        },        "options":{}      },      "type":"n8n-nodes-base.formTrigger",      "typeVersion":2.3,      "position":[        -816,        -176      ],      "id":"e91f5702-5d0f-4402-af82-c12388243eea",      "name":"上传文件",      "webhookId":"1139a278-0e52-4c1d-8ef2-b3e8133c3476"    },    {      "parameters":{        "content":"## 上传文档,存储到知识库\n",        "height":752,        "width":768      },      "type":"n8n-nodes-base.stickyNote",      "position":[        -880,        -304      ],      "typeVersion":1,      "id":"d156174d-c2b4-4b52-9714-80b550899171",      "name":"Sticky Note"    },    {      "parameters":{        "content":"## 知识库使用 \n",        "height":752,        "width":896,        "color":4      },      "type":"n8n-nodes-base.stickyNote",      "position":[        -64,        -304      ],      "typeVersion":1,      "id":"b14b5eef-d145-43f3-af88-06f1f414491d",      "name":"Sticky Note1"    }],"pinData":{},"connections":{    "Embeddings OpenAI":{      "ai_embedding":[        [          {            "node":"Postgres PGVector Store",            "type":"ai_embedding",            "index":0          },          {            "node":"Postgres PGVector Store1",            "type":"ai_embedding",            "index":0          }        ]      ]    },    "Default Data Loader":{      "ai_document":[        [          {            "node":"Postgres PGVector Store",            "type":"ai_document",            "index":0          }        ]      ]    },    "Recursive Character Text Splitter":{      "ai_textSplitter":[        [          {            "node":"Default Data Loader",            "type":"ai_textSplitter",            "index":0          }        ]      ]    },    "When chat message received":{      "main":[        [          {            "node":"Question & Answer Retrieve",            "type":"main",            "index":0          }        ]      ]    },    "OpenAI Chat Modell":{      "ai_languageModel":[        [          {            "node":"Question & Answer Retrieve",            "type":"ai_languageModel",            "index":0          }        ]      ]    },    "Postgres PGVector Store1":{      "ai_tool":[        [          {            "node":"Question & Answer Retrieve",            "type":"ai_tool",            "index":0          }        ]      ]    },    "Question & Answer Retrieve":{      "main":[        []      ]    },    "上传文件":{      "main":[        [          {            "node":"Postgres PGVector Store",            "type":"main",            "index":0          }        ]      ]    }},"active":false,"settings":{    "executionOrder":"v1"},"versionId":"1b7e7e80-9003-49e3-bb96-052d154ad98e","meta":{    "templateCredsSetupCompleted":true,    "instanceId":"2fd168ab16477727eea81179a729be98660dcdc6407f6792302be5e25cdff6f9"},"id":"8Ec63h3XiaeYjwue","tags":[]}

agent的提示词:

# 概述你是一个 AI 代理,严格使用 pgvector 向量库中存储的文档嵌入信息进行响应。## 上下文- 该代理旨在提供准确的、基于文档的答案。- 必须避免使用外部知识或假设。## 说明1. 分析用户的问题。2. 使用 pgvector 从文档嵌入中检索相关内容。3. 仅根据匹配的文档块构建响应。## 工具- 包含嵌入文档的向量库pgvector store- Embeddings OpenAI## SOP(标准操作程序)1. 接收用户查询。2. 在向量库中搜索相关的文档块。3. 仅使用该内容提取并合成答案。4. 如果没有匹配项,则提示找不到。## 最后说明- 不要依赖先前的训练或外部事实。- 答复必须严格以向量库的文档为依据。

第四步:在 PgAdmin 中验证数据 (可选):

打开网址:http://localhost:8080/


想入门 AI 大模型却找不到清晰方向?备考大厂 AI 岗还在四处搜集零散资料?别再浪费时间啦!2025 年 AI 大模型全套学习资料已整理完毕,从学习路线到面试真题,从工具教程到行业报告,一站式覆盖你的所有需求,现在全部免费分享

👇👇扫码免费领取全部内容👇👇

一、学习必备:100+本大模型电子书+26 份行业报告 + 600+ 套技术PPT,帮你看透 AI 趋势

想了解大模型的行业动态、商业落地案例?大模型电子书?这份资料帮你站在 “行业高度” 学 AI

1. 100+本大模型方向电子书

在这里插入图片描述

2. 26 份行业研究报告:覆盖多领域实践与趋势

报告包含阿里、DeepSeek 等权威机构发布的核心内容,涵盖:

  • 职业趋势:《AI + 职业趋势报告》《中国 AI 人才粮仓模型解析》;
  • 商业落地:《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》;
  • 领域细分:《AGI 在金融领域的应用报告》《AI GC 实践案例集》;
  • 行业监测:《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。

3. 600+套技术大会 PPT:听行业大咖讲实战

PPT 整理自 2024-2025 年热门技术大会,包含百度、腾讯、字节等企业的一线实践:

在这里插入图片描述

  • 安全方向:《端侧大模型的安全建设》《大模型驱动安全升级(腾讯代码安全实践)》;
  • 产品与创新:《大模型产品如何创新与创收》《AI 时代的新范式:构建 AI 产品》;
  • 多模态与 Agent:《Step-Video 开源模型(视频生成进展)》《Agentic RAG 的现在与未来》;
  • 工程落地:《从原型到生产:AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。

二、求职必看:大厂 AI 岗面试 “弹药库”,300 + 真题 + 107 道面经直接抱走

想冲字节、腾讯、阿里、蔚来等大厂 AI 岗?这份面试资料帮你提前 “押题”,拒绝临场慌!

1. 107 道大厂面经:覆盖 Prompt、RAG、大模型应用工程师等热门岗位

面经整理自 2021-2025 年真实面试场景,包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题,每道题都附带思路解析

2. 102 道 AI 大模型真题:直击大模型核心考点

针对大模型专属考题,从概念到实践全面覆盖,帮你理清底层逻辑:

3. 97 道 LLMs 真题:聚焦大型语言模型高频问题

专门拆解 LLMs 的核心痛点与解决方案,比如让很多人头疼的 “复读机问题”:


三、路线必明: AI 大模型学习路线图,1 张图理清核心内容

刚接触 AI 大模型,不知道该从哪学起?这份「AI大模型 学习路线图」直接帮你划重点,不用再盲目摸索!

在这里插入图片描述

路线图涵盖 5 大核心板块,从基础到进阶层层递进:一步步带你从入门到进阶,从理论到实战。

img

L1阶段:启航篇丨极速破界AI新时代

L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。

img

L2阶段:攻坚篇丨RAG开发实战工坊

L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

img

L3阶段:跃迁篇丨Agent智能体架构设计

L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。

img

L4阶段:精进篇丨模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

img

L5阶段:专题集丨特训篇 【录播课】

img
四、资料领取:全套内容免费抱走,学 AI 不用再找第二份

不管你是 0 基础想入门 AI 大模型,还是有基础想冲刺大厂、了解行业趋势,这份资料都能满足你!
现在只需按照提示操作,就能免费领取:

👇👇扫码免费领取全部内容👇👇

2025 年想抓住 AI 大模型的风口?别犹豫,这份免费资料就是你的 “起跑线”!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值