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

一个回答 PDF 问题并标出每个答案出处的 n8n 工作流。每条回复的结尾,都有 OpenAI 模型所用的每一段 Pinecone 内容的文件名和行号范围。
带出处引用的 PDF 聊天,用 Pinecone 是一款 n8n 工作流,属于研究类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。
聊天消息
两件事会启动它。点击 Execute workflow 会把 PDF 载入 Pinecone。在 n8n 的聊天窗口发一条消息就是提问,触发器读取:
一条聊天回复,包含回答,以及每段所用内容的引用,引用由文件名和行号范围组成
开始之前要准备好这些。
文件来源
存放工作流要下载的 PDF。
需要通过 n8n 的 Google 登录关联的 Google 账号,以及这份 PDF 的分享链接
向量库
存放 PDF 的各段内容和它们的文件名,并找出最接近问题的几段。
需要Pinecone API 密钥,以及一个 1536 维的索引
向量和回答
把文字转成向量,写出回答和它用到的各段清单。
需要OpenAI API 密钥
由 Mindket 于 2026年11月13日检查
这个 n8n 工作流回答关于一份 PDF 的问题,并说明每个答案出自哪里。运行一次,它从 Google Drive 把 PDF 载入 Pinecone。在聊天里,OpenAI 模型根据最接近的四段作答,并报告它用了哪几段。工作流把这些变成文件名和行号范围。十八个节点干活,另有四张便签。
需要把答案和出处对照的人,比如研究人员、编辑和审阅者。它适合已经在用 n8n、OpenAI 和 Pinecone 的人。如果你想要普通回答就别选它,因为这里每条回复的结尾都有一行引用。
| 行业 | 谁在用 | 怎么用 | 例子 |
|---|---|---|---|
| 研究 | 分析师 | 向一篇论文提问,看哪几行支持答案 | 一位分析师问一项研究发现了什么,再读被引用的行。 |
| 法律 | 法务助理 | 找出一个条款和它的位置 | 一位法务助理问终止条款,得到要打开的行号。 |
| 出版 | 编辑 | 核对书稿里的一个事实 | 一位编辑问某个日期出现在哪里,再顺着引用去看。 |
| 客服 | 客服团队 | 根据手册作答并给出出处 | 一位客服问怎么重置设备,把被引用的行和回复一起发出去。 |
你需要会一点 n8n:导入一个文件、添加三个凭据,再建一个 Pinecone 索引。
任何能访问 Google、OpenAI 和 Pinecone 的 n8n 都能运行它。聊天用的是 n8n 自带的,所以不需要别的应用。
Download file 换成从别处取 PDF 的节点Compose citations 里的表达式点“下载”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 写的设置说明。设置是三个凭据、一个 Drive 链接和一个 Pinecone 索引。
| 需要 | 说明 |
|---|---|
| n8n | n8n Cloud 或你自己的服务器 |
| OpenAI | 一个 API 密钥 |
| 一个能打开你的 PDF 的账号,通过 n8n 的 Google 登录关联 | |
| Pinecone | 一个账号、一个 API 密钥和一个 1536 维的索引 |
workflow.json。OpenAI Chat Model、Embeddings OpenAI 和 Embeddings OpenAI2 里选中它。Download file 里选中它。Set file URL in Google Drive 里,把整个值换成你的 PDF 的分享链接。Add to Pinecone vector store 和 Get top chunks matching query 里选中这个凭据和这个索引。点一次 Execute workflow 载入 PDF,然后打开聊天提问。回复是答案,后面跟着每一段所用内容的一行引用,形如 [report.pdf, lines 12-30]。只载入一次,因为再载入一次会把同样的各段再加一遍。
| 要改的 | 在哪里改 |
|---|---|
| 载入哪份 PDF | Set 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 的副本对每个编号取一个条目,并跳过没有对应段的编号gpt-5-mini 列为 2026 年 12 月 11 日关停,替代模型是 gpt-5.6-terra。这条链没有工具,所以 Mindket 的副本用它。向量节点原来默认用 text-embedding-ada-002,现在用 text-embedding-3-small,向量大小一样,都是 1536。如果你的索引里已有旧模型生成的向量,请重新载入一个回答 PDF 问题并说明每个答案出处的 n8n 工作流。运行一次,它从 Google Drive 把一份 PDF 载入 Pinecone。在聊天里,每条回复的结尾都有模型所用的每一段内容的引用。
workflow.json:n8n 导出的工作流,22 个节点,其中四个是便签。里面没有任何凭据。这些便签中,两张是把节点圈在一起的彩色底框,一张是试用步骤,一张是简短的提示。README.md:这份设置说明,压缩包里的是英文版。Set file URL in Google Drive 里的 Drive 链接原来指向一个公开文件,前面还有一个空格。现在它是一个占位符 <GOOGLE_DRIVE_FILE_ID>,请换成你自己的链接。试用便签和节点旁边的小便签也按此改了说法。Compose citations 原来读的是 [$json.citations],这是按整个编号列表所指的位置去取条目。只引用一段时它能用,引用两段或更多时就找不到,运行会失败。现在它依次读每个编号对应的条目,并跳过没有对应段的编号。answer 和 citations 列为必填,所以没有引用的回复会在解析器那里失败,而不是在后面才失败。OpenAI Chat Model 原来没有设模型,所以用 n8n 的默认值 gpt-5-mini。现在设成 gpt-5.6-terra。text-embedding-ada-002。现在设成 text-embedding-3-small,它生成的向量大小相同,都是 1536。workflow.json。OpenAI Chat Model、Embeddings OpenAI 和 Embeddings OpenAI2 里选中它。Download file 里选中它。Set file URL in Google Drive 里,把整个值换成你的 PDF 的分享链接。在 Drive 里打开这份 PDF,选 Share,复制链接。Add to Pinecone vector store 和 Get top chunks matching query 里选中这个凭据和这个索引。两个节点必须用同一个索引。载入,手动启动:
Set file URL in Google Drive 把链接存在一个叫 file_url 的字段里,Download file 取回那个文件。Add in metadata 把文件名、扩展名和链接复制到这一项上。Add to Pinecone vector store 通过 Default Data Loader 以二进制数据的方式读取文件。加载器把文件名和链接保留为元数据。Recursive Character Text Splitter 把文字切成每段 3000 个字符、重叠 200 的小段。Embeddings OpenAI 把每段转成向量。提问,从聊天启动:
Set max chunks to send to model 添加一个字段 chunks,值为 4。Get top chunks matching query 用 Embeddings OpenAI2 把你的问题转成向量,并向 Pinecone 要这么多段。Prepare chunks 从 0 开始给各段编号,并连成一整块文字,标题是 --- CHUNK 0 ---,依此类推。Answer the query based on chunks 把这一块文字和你的问题交给 OpenAI Chat Model。Structured Output Parser 让模型回复一个 answer,以及它用到的各段编号的列表。Compose citations 把每个编号变成那一段的文件名和行号范围,比如 [report.pdf, lines 12-30]。Generate response 把答案和引用合成一段文字,返回到聊天里。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 的模型字段。gpt-5-mini 列为 2026 年 12 月 11 日关停,替代模型是 gpt-5.6-terra。这条链没有工具,所以 Mindket 的副本用 gpt-5.6-terra。该页面没有列出 text-embedding-ada-002。新的向量模型生成的向量不能和旧模型的混用,所以如果你的索引里已有旧模型生成的向量,请重新载入。NOTICE.md 638 B README.md 6 KB workflow.json 15 KB
unsloth · 工具包
671B 参数 DeepSeek-R1 推理模型的 GGUF 版本,带 1.58-bit 和 2-bit 动态量化,可在内存足够的本机上用 llama.cpp 运行。
prithivMLmods · 工具包
提供 Axion-1.0-35B 的 GGUF 文件,这是一个有约 30 亿激活参数的 35B 混合专家模型,面向科学推理、信息查找和工具使用。适合配合 llama.cpp 在本地使用。
Phips · 工具包
用一个超分辨率网络放大低分辨率图像,可以在一块消费级 GPU 上训练,并导出为 ONNX。适合训练或运行图像放大模型的人。
allenai · 工具包
allenai 的 ToyBlocks 积木堆叠项目的底层动作模型,用模拟的 Franka 机械臂数据训练,能在桌面上拾取、放置和旋转三块积木。这是面向机器人学的研究模型。
AbdomenAtlas · 工具包
在 CT 扫描上检测并勾画 9 个器官的肿瘤,使用从放射学报告中学习的 R-Super 方法训练。这是面向医学影像团队的研究模型,采用非商业许可。
dBenf · 工具包
回答关于卫星图像块的类型化问题,使用 Sentinel-2 的全部 12 个波段,为每个选项返回概率,不生成文字。这是 Qwen3.5-0.8B 的微调版本,适合地球观测研究者。