用 n8n 搭一个企业 RAG 知识库问答
企业 RAG 知识库问答,本质是给大模型配一个”专属资料库”:先把公司文档切片、向量化存进检索库,提问时先检索相关片段、再让大模型据此作答。 用 n8n 这类工作流编排工具,可以把”切分 → 入库 → 检索 → 问答”这几个环节用可视化节点串起来,不写一行后端代码就跑通一个内部答疑机器人。本文带你理清整条链路怎么搭、每个节点干什么、哪里最容易踩坑。
想先补概念的,建议先看 RAG 是什么,理解”开卷考试”这个核心比喻后再回来动手。
n8n 是什么,为什么用它搭 RAG
n8n 是一个开源的工作流自动化平台,用拖拽节点的方式把不同服务(数据库、API、大模型、网盘)连成一条自动执行的流水线,类似国外的 Zapier、国内的影刀,但更偏开发者、可自托管。
搭 RAG 知识库,你完全可以用 LangChain、Dify 这类专门框架。选 n8n 的理由很实际:
- 可视化:每个环节是一个看得见的节点,链路一目了然,方便调试和交接。
- 可自托管:文档不出内网,企业数据合规性好把控。
- 胶水能力强:天然擅长把飞书文档、企业网盘、数据库、IM 机器人这些”边角”接进来。
如果你要的是开箱即用的问答 SaaS,Dify 教程更省事;如果你要把知识库嵌进现有业务流程(比如工单系统自动答疑),n8n 的编排优势就出来了。
RAG 知识库的四个核心环节
动手前先记住这条主线,n8n 里搭的就是它:
| 环节 | 干什么 | 通俗说 |
|---|---|---|
| 文档切分 | 把长文档拆成小片段 | 把书撕成一页页便签 |
| 向量化入库 | 片段转成向量存进向量库 | 给每张便签贴上”语义指纹” |
| 检索召回 | 按问题找最相关片段 | 翻出最对题的几张便签 |
| 大模型问答 | 带着片段让模型作答 | 开卷考试,照着便签答 |
前两步是离线建库(文档变了才重跑),后两步是在线问答(每次提问都走)。在 n8n 里通常对应两条独立工作流。
向量库怎么选,直接影响检索质量和运维成本,可参考向量数据库选型(规划中)。
第一步:搭建库工作流(离线)
建库流是”喂数据”的一次性(或定时)流程,典型节点顺序:
- 触发节点:手动触发,或定时(每天同步网盘新文档)。
- 读取文档:从飞书、企业网盘、本地目录拉取原始文件(PDF/Word/Markdown)。
- 提取文本:用对应节点把二进制文档转成纯文本。
- 文本切分:按固定长度 + 重叠(overlap)切片。切分粒度是 RAG 质量的命门——太大检索不准、太小丢上下文,常见做法是几百字一片、片间留一点重叠,具体参数以你的文档类型调试为准。
- 向量化:调 Embedding 模型把每个片段转成向量。
- 写入向量库:把”向量 + 原文 + 元数据(来源、章节)“一起存进去。
n8n 的 AI 相关节点已内置了 Embedding 与向量库的对接能力,具体节点名称与配置项以官方文档为准,不同版本会有差异。
第二步:搭建问答工作流(在线)
问答流是用户每次提问都会走的链路:
- 触发节点:接收提问。来源可以是 Webhook(对接 IM 机器人)、聊天触发器或表单。
- 问题向量化:用和建库时同一个 Embedding 模型把问题转成向量——两边模型必须一致,否则向量不在同一空间,检索全乱。
- 向量检索:拿问题向量去向量库里查最相似的 Top-K 个片段。
- 拼装 Prompt:把检索到的片段塞进提示词,模板大致是:
你是企业内部知识助手。只依据下面的资料回答问题,
资料里没有的,就说"知识库中未找到",不要编造。
【资料】
{检索到的片段}
【问题】
{用户问题}
- 调用大模型:把拼好的 Prompt 发给大模型生成答案。
- 返回结果:把答案(最好带上来源出处)回给用户。
这条流跑通,你的内部答疑机器人就成型了——员工在群里 @ 它问”报销流程是什么”,它会照着公司制度文档回答,而不是张口胡说。
进阶:让答案更准、更可信
跑通只是起点,企业级答疑还要做这几件事:
- 带出处:回答时附上来源文档和章节,员工能溯源、敢信。
- 加兜底:检索相似度过低时直接回”知识库未覆盖”,宁可不答也别瞎答——这是企业场景的底线。
- 混合检索:向量检索 + 关键词检索结合,专有名词、编号类问题召回更稳。
- 定时同步:建库流挂定时触发,文档一更新就增量入库,避免答案过期。
- 问答留痕:把问题和答案记进数据库,定期看哪些问题答不好,反向优化文档和切分。
想把这套机器人长成完整的”数字员工”,可以延伸看企业 AI 知识库搭建(规划中)。
新手常见坑
- 两端 Embedding 模型不一致:建库和问答必须用同一个,换模型要重建整个库。
- 切分太粗暴:直接按字数硬切会把一句话劈两半,尽量按段落、标题等自然边界切。
- 不给兜底就上线:模型会”自信地编造”,没兜底的答疑机器人在企业里是事故源头。
- 元数据漏存:入库时不存来源信息,后面想做”带出处”就抓瞎,建库阶段一次存好。
- 拿 n8n 当数据库:n8n 是编排层,向量、原文该进专门的向量库,别想着塞进工作流变量里。
常见问题
用 n8n 搭 RAG 需要会写代码吗? 基本不用。核心链路靠拖拽节点完成,少量地方(如 Prompt 模板、字段映射)写点表达式即可,比纯手写后端门槛低很多。
n8n 和 Dify、Coze 搭知识库有什么区别? Dify、Coze 更偏”开箱即用的问答应用”,配好就能用;n8n 更偏”通用编排”,强在把知识库嵌进已有业务流程、对接内部系统。要快速出问答页选前者,要深度集成选 n8n。
企业文档不想外传,能本地化吗? 能。n8n 可自托管部署在内网,向量库也能选本地方案,配合可私有部署的模型,整条链路数据不出内网。具体部署方式以官方文档为准。
为什么知识库问答还会答错? 多半出在检索环节:要么切分太碎丢了上下文,要么 Embedding 没选好导致召回不准,要么没加兜底让模型硬编。先查”检索回来的片段对不对”,再怀疑模型。
👉 看看 AI 数字员工落地指南,或了解 数字员工搭建实战课。需要为企业落地一整套知识库方案,欢迎找我们聊 企业服务。