支持多格式文档(PDF、CSV、JSON)的 RAG 聊天机器人 - n8n 工作流

使用这个超给力的 n8n 工作流,搭建一个能读取并回答复杂多格式文件(PDF、CSV、图片、JSON)上传内容后问题的对话式 AI 智能体。充分利用 OpenAI 和 Gemini 的能力来实现高级 RAG 功能。

工作流预览

准备好自动化了吗?

下载此 n8n 工作流模板并立即开始使用。

适用人群


  • 需要通过对话界面分析各种文档类型(如 CSV 报告、XML 数据、PDF)的技术团队。

  • 正在寻找强大 n8n 模板来构建复杂 AI 智能体的开发者。

  • 需要将一个多功能的内部知识库工具集成到 n8n 解决方案中的企业。

  • 希望在同一个 n8n 工作流中结合多种 AI 模型(OpenAI 用于聊天,Gemini 用于向量化/嵌入)能力的用户。

概览

这个精妙的 n8n 工作流为 AI 驱动的文档交互提供了一套组合拳。首先,它提供了一个专用的数据录入通道(一个标准的表单 n8n 触发器),用于将长期知识文档加载到一个内存向量存储中,从而建立检索增强生成(RAG)的基础。其次,更独特的是,它设置了一个主要的聊天界面(聊天 n8n 触发器),允许用户在提问的同时上传各种格式的文件(PDF、图片、CSV、JSON、XML 等)。

自动化流程会根据文件的 MIME 类型自动分流上传的文件,提取相关内容后,连同用户的提问一起喂给 AI 智能体。这确保了智能体既考虑了静态知识库(通过 RAG 工具),也考虑了上传文件提供的即时上下文,使得这个 n8n 模板在处理复杂数据查询时非常灵活。

工作原理

整个流程由两个 n8n 触发器节点中的一个启动。

文档加载流程(RAG 准备):


  1. “表单提交时” (On form submission) n8n 触发器捕获通过网页表单上传的文档(如 PDF)。

  2. 文档依次经过 “默认数据加载器” (Default Data Loader) 和 “递归字符文本分割器” (Recursive Character Text Splitter),为向量化做准备。

  3. “Google Gemini 向量化” (Embeddings Google Gemini) 节点为文档分块创建向量表示。

  4. “简单向量存储” (Simple Vector Store) n8n 节点将这些向量存入,建立聊天机器人使用的长期知识库。

聊天与文件处理流程:


  1. 主要入口是 “收到聊天消息时” (When chat message received) n8n 触发器,它负责捕获用户的提问以及可选的文件上传。

  2. 一个 “代码” (Code) n8n 节点检查是否存在二进制文件数据。

  3. “拆分输出” (Split Out) 和 “循环处理项” (Loop Over Items) 节点遍历每一个上传的文件。

  4. “开关” (Switch) n8n 节点分析文件的 MIME 类型(例如 image/jpeg、application/pdf、text/csv),并将该项路由到合适的提取管道(使用 转换为文件 和特定格式的 从文件中提取 n8n 节点的组合)。

  5. 提取的文本和数据由 “聚合” (Aggregate) 节点收集。

  6. 提取的内容和用户的问题被传递给 “AI 智能体” (AI Agent) n8n 节点。

  7. “AI 智能体” 使用 “OpenAI 聊天模型” (OpenAI Chat Model) 进行生成,使用 “窗口缓冲区内存” (Window Buffer Memory) 记录对话历史,并使用 “查询数据工具 1” (Query Data Tool1)(该工具利用了使用 Gemini 向量化设置的 RAG 知识库)来组织一个全面的答案,同时考虑上传的文档和静态知识库的内容。

安装指南

要部署这个功能全面的 n8n 工作流,请按以下步骤操作:


  1. 导入 n8n 模板: 复制提供的 JSON 数据,使用 n8n 画布上的“从 JSON 导入”功能粘贴进去。

  2. 配置凭证: 你需要配置好两个外部服务:

OpenAI API 密钥: 为 “OpenAI 聊天模型” (OpenAI Chat Model) n8n 节点(ID: a4611591)配置此凭证。
Google Gemini (PaLM) API 密钥: 为两个 “Google Gemini 向量化” (Embeddings Google Gemini) n8n 节点(ID: 511e0c19 和 7d38210e)配置此凭证。

  1. 激活 RAG 加载器: 执行次要的 n8n 触发器(“表单提交时”),以暴露其公共表单 URL。上传初始文档(例如 PDF)来填充 RAG 知识库。

  2. 激活聊天机器人: 执行主要的 n8n 触发器(“收到聊天消息时”)以访问聊天机器人界面 URL。现在你可以和智能体聊天,并实时上传新文件了。

节点详情

“收到聊天消息时” (When chat message received) (n8n 触发器): 主要的对话入口点。关键特性是 allowFileUploads: true,允许用户在聊天时上传文档。
“表单提交时” (On form submission) (n8n 触发器): 专门用于将长期文档加载到向量存储中。配置为接受文件输入。
“开关” (Switch) (n8n 节点): 对多格式支持至关重要。它会评估传入文件的 mimeType 并专门将数据路由到相应的提取流程(例如 application/pdf、text/csv、image/)。
“从文件中提取” (Extract from File) (n8n 节点): 一套专用的 n8n 节点,配置了 pdf、fromJson、xml、xlsx 和 rtf 等操作,用于处理二进制文件中的结构化和非结构化数据提取。
“AI 智能体” (AI Agent) (n8n 节点): 核心智能所在,负责协调请求。其系统提示词指导它使用上传的文件内容(extractedFile)和 RAG 工具来给出答案。
“OpenAI 聊天模型” (OpenAI Chat Model) (n8n 节点): 用作生成式语言模型,连接到 AI 智能体。
“窗口缓冲区内存” (Window Buffer Memory) (n8n 节点): 通过使用聊天 n8n 触发器提供的用户 sessionId 来跟踪对话历史,确保会话的连续性。


  • “查询数据工具 1” (Query Data Tool1) (简单向量存储 n8n 节点): 配置为 retrieve-as-tool 模式。这是 RAG 的核心组件,它允许 AI 智能体查询预加载的知识库,极大地扩展了这个 n8n 工作流能回答的范围。

相关 n8n 工作流

免费

节点: 16 节点
更新时间: 2025年12月26日
创建者

精选*