Mindket

带出处引用的 PDF 聊天,用 Pinecone

新上架第 1 版 · 更新于

概览

一个回答 PDF 问题并标出每个答案出处的 n8n 工作流。每条回复的结尾,都有 OpenAI 模型所用的每一段 Pinecone 内容的文件名和行号范围。

带出处引用的 PDF 聊天,用 Pinecone 是一款 n8n 工作流,属于研究类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。

速览

用在
  • n8n Cloud:导入文件,载入一次 PDF,然后打开聊天
  • 你自己的 n8n 服务器:同样的步骤
  • 换个文件来源:把 Download file 换成从别处取 PDF 的节点
  • 换个引用样式:改 Compose citations 里的表达式

平台

连接 3 个应用

运行方式

触发

聊天消息

两件事会启动它。点击 Execute workflow 会把 PDF 载入 Pinecone。在 n8n 的聊天窗口发一条消息就是提问,触发器读取:

  • 你的问题

动作

  1. 工作流下载 PDF,把它切成每段 3000 个字符,连同文件名和链接一起存进 Pinecone
  2. 你的问题被转成向量,Pinecone 返回最接近的四段
  3. 这几段先编号,再连同你的问题一起交给 OpenAI 模型
  4. 模型返回回答,以及它用到的各段编号
  5. 每个编号都变成那一段的文件名和行号范围
  6. 回答和引用合成一段文字,返回聊天窗口

结果

一条聊天回复,包含回答,以及每段所用内容的引用,引用由文件名和行号范围组成

集成

开始之前要准备好这些。

Google Drive

文件来源

存放工作流要下载的 PDF。

需要通过 n8n 的 Google 登录关联的 Google 账号,以及这份 PDF 的分享链接

Pinecone

向量库

存放 PDF 的各段内容和它们的文件名,并找出最接近问题的几段。

需要Pinecone API 密钥,以及一个 1536 维的索引

OpenAI

向量和回答

把文字转成向量,写出回答和它用到的各段清单。

需要OpenAI API 密钥

工作流检查

由 Mindket 于 2026年11月13日检查

步骤
12 个步骤,由聊天消息或手动启动
AI
3 个步骤调用 AI 模型:Get top chunks matching query、Answer the query based on chunks、Add to Pinecone vector store
登录
需要登录:Pinecone、OpenAI、Google Drive
API 密钥
文件里没有留下 API 密钥
步骤类型
Mindket 的检查器能读懂它全部 7 种步骤类型

以上内容读自工作流文件,并非实际运行的结果。

关于

它是什么

这个 n8n 工作流回答关于一份 PDF 的问题,并说明每个答案出自哪里。运行一次,它从 Google Drive 把 PDF 载入 Pinecone。在聊天里,OpenAI 模型根据最接近的四段作答,并报告它用了哪几段。工作流把这些变成文件名和行号范围。十八个节点干活,另有四张便签。

适合谁

需要把答案和出处对照的人,比如研究人员、编辑和审阅者。它适合已经在用 n8n、OpenAI 和 Pinecone 的人。如果你想要普通回答就别选它,因为这里每条回复的结尾都有一行引用。

谁在用,怎么用
行业谁在用怎么用例子
研究分析师向一篇论文提问,看哪几行支持答案一位分析师问一项研究发现了什么,再读被引用的行。
法律法务助理找出一个条款和它的位置一位法务助理问终止条款,得到要打开的行号。
出版编辑核对书稿里的一个事实一位编辑问某个日期出现在哪里,再顺着引用去看。
客服客服团队根据手册作答并给出出处一位客服问怎么重置设备,把被引用的行和回复一起发出去。

你需要会一点 n8n:导入一个文件、添加三个凭据,再建一个 Pinecone 索引。

用在哪里

任何能访问 Google、OpenAI 和 Pinecone 的 n8n 都能运行它。聊天用的是 n8n 自带的,所以不需要别的应用。

  • n8n Cloud:导入文件,载入一次 PDF,然后打开聊天
  • 你自己的 n8n 服务器:同样的步骤
  • 换个文件来源:把 Download file 换成从别处取 PDF 的节点
  • 换个引用样式:改 Compose citations 里的表达式

设置

点“下载”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 写的设置说明。设置是三个凭据、一个 Drive 链接和一个 Pinecone 索引。

先准备好这些
需要说明
n8nn8n Cloud 或你自己的服务器
OpenAI一个 API 密钥
Google一个能打开你的 PDF 的账号,通过 n8n 的 Google 登录关联
Pinecone一个账号、一个 API 密钥和一个 1536 维的索引
  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  2. 添加一个 OpenAI 凭据,在 OpenAI Chat Model、Embeddings OpenAI 和 Embeddings OpenAI2 里选中它。
  3. 添加一个 Google Drive OAuth2 凭据,在 Download file 里选中它。
  4. 在 Set file URL in Google Drive 里,把整个值换成你的 PDF 的分享链接。
  5. 在 Pinecone 里建一个 1536 维的索引。添加一个 Pinecone 凭据,然后在 Add to Pinecone vector store 和 Get top chunks matching query 里选中这个凭据和这个索引。
  6. 点 Execute workflow 载入 PDF,然后打开聊天,问一个问题。

如何使用

点一次 Execute workflow 载入 PDF,然后打开聊天提问。回复是答案,后面跟着每一段所用内容的一行引用,形如 [report.pdf, lines 12-30]。只载入一次,因为再载入一次会把同样的各段再加一遍。

想要不同的结果,改哪里
要改的在哪里改
载入哪份 PDFSet file URL in Google Drive 里的链接
模型能看到几段Set max chunks to send to model 里的 chunks 值
每段有多大Recursive Character Text Splitter 里的分段大小和重叠
引用的样子Compose citations 里的表达式
模型OpenAI Chat Model

示例

你载入一份合同,问任何一方什么时候可以终止它。

聊天回复答案,并给出每一段所用内容的引用,比如文件名和行号范围。依赖答案之前,先打开被引用的行,因为这些行是模型选的。

新手与专家

新手:n8n 把工作流画成用线连起来的方框,每个方框叫节点,只做一件事。向量库把文字存成一串串代表含义的数字,所以能找出最接近问题的几段。然后由模型写出答案,并说明它用了哪几段。

专家:载入依次运行 Set file URL in Google Drive、Download file、Add in metadata 和 Add to Pinecone vector store。提问依次运行 Set max chunks to send to model 和 Get top chunks matching query。接着 Prepare chunks 给各段编号。Answer the query based on chunks 通过 Structured Output Parser 返回答案和段落编号。Compose citations 和 Generate response 组成回复。

值得细看的地方
节点它做什么要知道什么
Get top chunks matching query在 Pinecone 里找最接近的几段它用 Embeddings OpenAI2 把问题转成向量
Prepare chunks从 0 开始给各段编号,并连成一整块模型引用的就是这些编号
Answer the query based on chunks让模型给出答案和它用到的编号解析器强制了这个格式
Compose citations把每个编号变成文件名和行号范围Mindket 的副本修好了查找,并跳过没有对应段的编号
Generate response把答案和引用合在一起这段文字会返回聊天窗口
Add to Pinecone vector store连同文件名和链接存下各段它从不清空任何东西,所以再载入一次就会多出副本

注意事项

原来的副本在模型引用多于一段时就会失败,而且载入两次会把每一段再加一遍。

  • 引用的修复:Compose citations 原来按整个编号列表去取一个条目。只有一个引用时能用,两个或更多时就失败。Mindket 的副本对每个编号取一个条目,并跳过没有对应段的编号
  • 副本:每次载入都会把各段再加一遍,之后一个问题可能两次返回同样的文字。再载入之前,请清空索引,或者用一个命名空间
  • 模型:OpenAI 的弃用页面(2026 年 11 月 12 日查阅)把聊天节点的默认模型 gpt-5-mini 列为 2026 年 12 月 11 日关停,替代模型是 gpt-5.6-terra。这条链没有工具,所以 Mindket 的副本用它。向量节点原来默认用 text-embedding-ada-002,现在用 text-embedding-3-small,向量大小一样,都是 1536。如果你的索引里已有旧模型生成的向量,请重新载入
  • 引用来自模型:它报告自己说用过的那几段的编号,而没有任何东西检查这一点
  • 你的数据:PDF 的文字会发给 OpenAI 和 Pinecone,每个问题会发给 OpenAI
  • 没运行过:这里没有对 Google、OpenAI 或 Pinecone 运行过任何东西。这些说明来自 n8n 的源码和各厂商的页面
  • 凭据:JSON 里没有任何凭据

README 和文件

README

带出处引用的 PDF 聊天,用 Pinecone

一个回答 PDF 问题并说明每个答案出处的 n8n 工作流。运行一次,它从 Google Drive 把一份 PDF 载入 Pinecone。在聊天里,每条回复的结尾都有模型所用的每一段内容的引用。

包里有什么

  • workflow.json:n8n 导出的工作流,22 个节点,其中四个是便签。里面没有任何凭据。这些便签中,两张是把节点圈在一起的彩色底框,一张是试用步骤,一张是简短的提示。
  • README.md:这份设置说明,压缩包里的是英文版。

我们相对原来的副本改了什么

  • Google Drive、OpenAI 和 Pinecone 节点原来关联着作者 n8n 里的凭据。这些关联已删掉,请选你自己的。
  • Set file URL in Google Drive 里的 Drive 链接原来指向一个公开文件,前面还有一个空格。现在它是一个占位符 <GOOGLE_DRIVE_FILE_ID>,请换成你自己的链接。试用便签和节点旁边的小便签也按此改了说法。
  • Compose citations 原来读的是 [$json.citations],这是按整个编号列表所指的位置去取条目。只引用一段时它能用,引用两段或更多时就找不到,运行会失败。现在它依次读每个编号对应的条目,并跳过没有对应段的编号。
  • Structured Output Parser 的 schema 现在把 answer 和 citations 列为必填,所以没有引用的回复会在解析器那里失败,而不是在后面才失败。
  • OpenAI Chat Model 原来没有设模型,所以用 n8n 的默认值 gpt-5-mini。现在设成 gpt-5.6-terra。
  • 两个向量节点原来没有设模型,所以用 text-embedding-ada-002。现在设成 text-embedding-3-small,它生成的向量大小相同,都是 1536。
  • Chat Trigger 的 webhook id 已删掉,导入文件时 n8n 会生成新的。
  • 别的都没改。

开始之前

  • 一个 n8n 实例,n8n Cloud 或自己的服务器都行。
  • 一个 OpenAI API 密钥。
  • 一个能打开你的 PDF 的 Google 账号,通过 n8n 的 Google 登录关联。
  • 一个 Pinecone 账号、一个 API 密钥,以及一个 1536 维的索引。

设置

  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  2. 添加一个 OpenAI 凭据。在 OpenAI Chat Model、Embeddings OpenAI 和 Embeddings OpenAI2 里选中它。
  3. 添加一个 Google Drive OAuth2 凭据,在 Download file 里选中它。
  4. 在 Set file URL in Google Drive 里,把整个值换成你的 PDF 的分享链接。在 Drive 里打开这份 PDF,选 Share,复制链接。
  5. 在 Pinecone 里建一个 1536 维的索引。在 n8n 里添加一个 Pinecone 凭据,然后在 Add to Pinecone vector store 和 Get top chunks matching query 里选中这个凭据和这个索引。两个节点必须用同一个索引。
  6. 点 Execute workflow 载入 PDF。到 Pinecone 里确认索引里现在有记录了。
  7. 从画布底部的按钮打开聊天,问一个关于这份 PDF 的问题。

一次运行的过程

载入,手动启动:

  1. Set file URL in Google Drive 把链接存在一个叫 file_url 的字段里,Download file 取回那个文件。
  2. Add in metadata 把文件名、扩展名和链接复制到这一项上。
  3. Add to Pinecone vector store 通过 Default Data Loader 以二进制数据的方式读取文件。加载器把文件名和链接保留为元数据。Recursive Character Text Splitter 把文字切成每段 3000 个字符、重叠 200 的小段。Embeddings OpenAI 把每段转成向量。

提问,从聊天启动:

  1. Set max chunks to send to model 添加一个字段 chunks,值为 4。
  2. Get top chunks matching query 用 Embeddings OpenAI2 把你的问题转成向量,并向 Pinecone 要这么多段。
  3. Prepare chunks 从 0 开始给各段编号,并连成一整块文字,标题是 --- CHUNK 0 ---,依此类推。
  4. Answer the query based on chunks 把这一块文字和你的问题交给 OpenAI Chat Model。Structured Output Parser 让模型回复一个 answer,以及它用到的各段编号的列表。
  5. Compose citations 把每个编号变成那一段的文件名和行号范围,比如 [report.pdf, lines 12-30]。
  6. Generate response 把答案和引用合成一段文字,返回到聊天里。

改变风格

  • 载入哪份 PDF:Set file URL in Google Drive 里的链接。
  • 模型能看到几段:Set max chunks to send to model 里的 chunks 值。
  • 每段有多大:Recursive Character Text Splitter 里的分段大小和重叠。改完后要重新载入。
  • 指令的措辞:Answer the query based on chunks 里的提示文字。
  • 引用的样子:Compose citations 里的表达式。
  • 模型:OpenAI Chat Model 的模型字段。

注意事项

  • 副本:插入节点不会清空任何东西。每次载入都会把各段再加一遍,之后一个问题可能两次返回同样的文字。再载入之前,请清空索引,或者用一个命名空间。
  • 模型:OpenAI 的弃用页面(2026 年 11 月 12 日查阅)把 gpt-5-mini 列为 2026 年 12 月 11 日关停,替代模型是 gpt-5.6-terra。这条链没有工具,所以 Mindket 的副本用 gpt-5.6-terra。该页面没有列出 text-embedding-ada-002。新的向量模型生成的向量不能和旧模型的混用,所以如果你的索引里已有旧模型生成的向量,请重新载入。
  • 引用来自模型:它报告自己说用过的那几段的编号,而没有任何东西检查这一点。依赖某段引文之前,请先读被引用的行。
  • 行号:它们是文本切分器为每一段记录的行号,所以是在它拿到的文字内部计数的。
  • 你的数据:PDF 的文字会发给 OpenAI 和 Pinecone,每个问题会发给 OpenAI。
  • 没运行过:这里没有对 Google、OpenAI 或 Pinecone 运行过任何东西。这些说明来自 n8n 的源码和各厂商的页面(2026 年 11 月 12 日查阅)。
文件
NOTICE.md  638 B
README.md  6 KB
workflow.json  15 KB

3 个文件,共 21 KB,以 zip 压缩包下载。

更新内容

  • 第 1 版 · 2026-11-12

评价

还没有评分

写评价

还没有评价。

Mindket 的更多商品

查看 Mindket 的全部商品

DeepSeek-R1-GGUF

unsloth · 工具包

671B 参数 DeepSeek-R1 推理模型的 GGUF 版本,带 1.58-bit 和 2-bit 动态量化,可在内存足够的本机上用 llama.cpp 运行。

新上架

Axion-1.0-35B-GGUF

prithivMLmods · 工具包

提供 Axion-1.0-35B 的 GGUF 文件,这是一个有约 30 亿激活参数的 35B 混合专家模型,面向科学推理、信息查找和工具使用。适合配合 llama.cpp 在本地使用。

新上架

HEART

Phips · 工具包

用一个超分辨率网络放大低分辨率图像,可以在一块消费级 GPU 上训练,并导出为 ONNX。适合训练或运行图像放大模型的人。

新上架

研究类的相似商品

查看研究类的全部商品

ManiFlow-tb

allenai · 工具包

allenai 的 ToyBlocks 积木堆叠项目的底层动作模型,用模拟的 Franka 机械臂数据训练,能在桌面上拾取、放置和旋转三块积木。这是面向机器人学的研究模型。

新上架

Merlin-Cancer-Super

AbdomenAtlas · 工具包

在 CT 扫描上检测并勾画 9 个器官的肿瘤,使用从放射学报告中学习的 R-Super 方法训练。这是面向医学影像团队的研究模型,采用非商业许可。

新上架

EarthJev

dBenf · 工具包

回答关于卫星图像块的类型化问题,使用 Sentinel-2 的全部 12 个波段,为每个选项返回概率,不生成文字。这是 Qwen3.5-0.8B 的微调版本,适合地球观测研究者。

新上架