Mindket

Telegram 机器人:根据存在 Pinecone 里的 PDF 回答问题

新上架第 1 版 · 更新于

概览

一个 n8n 工作流,在同一个 Telegram 机器人上做两件事。你发来的 PDF 会被切块存进 Pinecone,你发来的问题则由 Groq 上的模型根据这些块来回答。

Telegram 机器人:根据存在 Pinecone 里的 PDF 回答问题 是一款 n8n 工作流,属于研究类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。

速览

用在
  • n8n Cloud:在那里新建一个工作流,把文件导入进去
  • 你自己的 n8n 服务器:同一个文件,同样的步骤,前提是服务器有公开的 HTTPS 地址
  • 换一个模型:把 Groq Chat Model 换成 n8n 里任何别的聊天模型节点
  • 换一个向量库:把两个 Pinecone 节点换成别的向量库节点,两边保持同一个向量化模型

平台

连接 4 个应用

运行方式

触发

Telegram 消息

有人给你的机器人发消息时就开始运行,没有表单:

  • 一个 PDF 文件,用来存进去
  • 或者一个文字问题,用来得到回答

动作

  1. 带文件的消息会从 Telegram 下载下来,并标成 PDF
  2. 文字被切成 3000 个字符一块,用 OpenAI 转成数字,存进 Pinecone 索引
  3. 机器人告诉发送的人存了多少页
  4. 文字消息被转成数字,从 Pinecone 取出最接近的几块
  5. Groq 上的模型根据这几块写出回答,并发回聊天

结果

发文件之后得到页数,提问之后得到根据你存进去的 PDF 写出的回答

集成

开始之前要准备好这些。

Telegram

聊天应用

把每条消息和文件送到工作流,并发送回复。

需要来自 BotFather 的机器人令牌,用 Telegram 凭据发送

Pinecone

向量库

保存你的 PDF 的各块文字,并找出和问题相符的那几块。

需要Pinecone API 密钥和一个 1536 维的索引

OpenAI

向量化

把各块文字和问题转成数字。

需要OpenAI API 密钥和一些额度

Groq

AI 模型

根据相符的几块写出回答。

需要Groq API 密钥

工作流检查

由 Mindket 于 2026年11月13日检查

步骤
11 个步骤,由 Telegram 事件启动
AI
2 个步骤调用 AI 模型:Pinecone Vector Store、Question and Answer Chain
登录
需要登录:Telegram、Pinecone、OpenAI、Groq
API 密钥
文件里没有留下 API 密钥
步骤类型
Mindket 的检查器能读懂它全部 8 种步骤类型

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

关于

它是什么

这个 n8n 工作流把 Telegram 机器人变成你的 PDF 阅读器。消息里带文件时,工作流下载它,把文字切成小块,用 OpenAI 把每块转成数字,存进 Pinecone 索引。消息是问题时,它找出相符的已存小块,由 Groq 上的模型根据这些块写出回答。十八个节点完成全部工作,旁边有两张便签。

适合谁

想用手机向一份手册、一份合同或一篇论文提问的学生、研究人员和小团队。你需要 Pinecone、OpenAI 和 Groq 的账号。如果你的文件不是有真实文字的 PDF,就别选它,因为扫描图片给它留不下任何可存的文字。

谁在用,怎么用
行业谁在用怎么用例子
教育学生向一篇论文或一套课堂笔记提问学生把一份阅读清单当 PDF 发过去,问哪一章讲抽样。
法律小型事务所在一份长合同里找一个条款助理问通知期有多长,机器人根据合同回答。
运营办公室团队查一份制度或一本手册新员工问自己有几天假,在聊天里读到答案。
研究分析师从一份报告里取出一个数字分析师发来一份市场报告,问它给出的增长率是多少。

你需要会一点 n8n:导入一个文件,添加五个凭据,在 Pinecone 里建一个索引,再填一个名字。

用在哪里

任何有公开 HTTPS 地址的 n8n 都能运行它,因为 Telegram 会把每条消息发到那个地址。

  • n8n Cloud:在那里新建一个工作流,把文件导入进去
  • 你自己的 n8n 服务器:同一个文件,同样的步骤,前提是服务器有公开的 HTTPS 地址
  • 换一个模型:把 Groq Chat Model 换成 n8n 里任何别的聊天模型节点
  • 换一个向量库:把两个 Pinecone 节点换成别的向量库节点,两边保持同一个向量化模型

设置

点“下载”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 写的设置说明。你需要一个 Telegram 机器人令牌、一个 Pinecone 索引,以及 OpenAI 和 Groq 的密钥。

先准备好这些
需要说明
n8nn8n Cloud,或有公开 HTTPS 地址的服务器
Telegram一个机器人和它的令牌,在 Telegram 里向 BotFather 申请
Pinecone一个 1536 维、用 cosine 度量的索引,和一个 API 密钥
OpenAI用于向量化的 API 密钥,要有一些额度
Groq用于回答的 API 密钥
  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  2. 在 Pinecone Vector Store 和 Pinecone Vector Store1 里,把 YOUR_PINECONE_INDEX 换成你的索引名,并添加一个 Pinecone 凭据。
  3. 在 Embeddings OpenAI 和 Embeddings 里,添加一个 OpenAI 凭据。两边保持同一个模型。
  4. 在 Groq Chat Model 里,添加一个 Groq 凭据。
  5. 在四个 Telegram 节点里,添加一个 Telegram 凭据,填你的机器人令牌。
  6. 点 Test workflow,给你的机器人发一个小 PDF。机器人会回答它存了多少页。
  7. 再点一次 Test workflow,发一个关于那个 PDF 的问题。回答会出现在同一个聊天里。
  8. 打开这个工作流,这样你不在的时候机器人也会继续回答。

如何使用

工作流打开之后会自己回答。带文件的消息会把这个文件加进索引,并收到页数。文字消息则会得到一份根据目前存下的全部内容写出的回答。

想要不同的结果,改这里
要改的在哪里改
模型Groq Chat Model 里的模型名
每块的大小Recursive Character Text Splitter 里的 Chunk Size 和 Chunk Overlap
模型能看到几块Vector Store Retriever 里的数量上限
问题的文字Question and Answer Chain 里的文字
谁可以使用机器人Telegram Trigger 里的 Restrict to User IDs

示例

一位学生在备考统计学。

学生把课程笔记当 PDF 发过去,机器人回答“42 pages saved”。后来学生问“课程里怎么讲中心极限定理?”。工作流找出相符的几块,模型用几句话根据它们作答。如果笔记里没有答案,模型应该说明这一点。在你依赖这些回答之前,先对照文件检查,因为它们是模型生成的。

新手与专家

新手:n8n 把工作流画成用线连起来的方框,每个方框,也就是节点,只做一件事。Pinecone 这样的向量库把一块块文字存成数字列表,这样一个问题就能找到意思最接近的那几块。这个工作流把你的 PDF 存在那里,再根据它们作答。先点 Test workflow,发一个小 PDF 试试。

专家:文件路径和提问路径共用一个没有命名空间的索引,所以每个文件都进同一个池子。

想看细一点,看这里
节点它做什么要知道什么
Check If is a document检查消息里有没有 document其余的都走提问路径
Change to application/pdf把下载的文件标成 PDF加载器按类型选读取方式,所以每个文件都按 PDF 读取
Pinecone Vector Store插入各块文字Clear Namespace 是关的,所以重复的文件会存两次
Embeddings OpenAI 和 Embeddings把文字转成数字两个都用 text-embedding-3-small,索引里每块存 1536 个数
Vector Store Retriever取出最接近的几块保持默认的四块
Question and Answer Chain把几块文字和问题交给模型提示词里加了一行,让它使用检索器
Groq Chat Model写出回答用的是 openai/gpt-oss-120b

注意事项

原来的副本用了 Groq 不再列出的模型,还把向量化模型交给版本的默认值。

  • 模型:原来的副本要的是 llama-3.1-70b-versatile。Groq 的模型页面(2026 年 11 月 12 日查阅)把 openai/gpt-oss-120b 列为正式模型,没有列出那个名字,所以这份副本用 openai/gpt-oss-120b
  • 向量化:原来的副本是节点版本 1,模型不设置就是 text-embedding-ada-002。这份副本是版本 1.2,并指明 text-embedding-3-small。两个模型给出的向量不同,所以要填一个新索引
  • 索引:原来的副本指向它作者的索引,这份副本写的是 YOUR_PINECONE_INDEX
  • 同一个池子:索引没有命名空间,所以任何能给机器人发消息的人都能问任何人发过的任何文件。Telegram Trigger 里的 Restrict to User IDs 可以限制,它在节点版本 1.2 及以上有效
  • 重复:同一个 PDF 发两次,各块文字会存两次
  • 大小:Telegram 允许机器人下载的文件最大 20 MB
  • 只认 PDF:代码把每个文件都标成 PDF,所以 Word 文件会失败,扫描的 PDF 也没有文字可存
  • 你的数据:每个 PDF 的文字会发给 OpenAI,并存在你的 Pinecone 索引里,每个问题连同相符的几块会发给 Groq
  • 没有实测:Mindket 没有调用任何服务来测试这个文件。它在测试运行器里用替身回答跑过,用文本文件代替 PDF,所以页数没有试过
  • 凭据:JSON 里没有任何凭据

README 和文件

README

Telegram 机器人:根据存在 Pinecone 里的 PDF 回答问题

一个在同一个 Telegram 机器人上做两件事的 n8n 工作流。给机器人发一个 PDF,它就把文字切成小块,存进 Pinecone 索引。给它发一个问题,它就找出相符的小块,交给 Groq 上的模型,再把回答发回来。

包里有什么

  • workflow.json:n8n 导出的工作流,18 个节点和两张便签。里面没有任何凭据。
  • README.md:这份设置说明,压缩包里的是英文版。

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

  • Groq Chat Model 原来要的是 llama-3.1-70b-versatile。Groq 的模型页面(2026 年 11 月 12 日查阅)把 openai/gpt-oss-120b 列为正式模型,没有列出那个名字,所以这份副本用 openai/gpt-oss-120b。
  • 两个向量化节点原来在节点版本 1 上没有设置模型,那就是 text-embedding-ada-002。现在它们是版本 1.2,并指明 text-embedding-3-small。两者的向量都是 1536 个数,但两个模型给出的向量不同,所以要填一个新索引,不要沿用原来的副本填过的那个。
  • 两个 Pinecone 节点原来指向一个叫 telegram 的索引,那是作者自己的。现在它们写的是 YOUR_PINECONE_INDEX,负责搜索的那个节点也特意把模式设成了 retrieve。
  • Telegram Trigger 现在是节点版本 1.2,它可以限制谁能使用机器人。见“要知道的事”。
  • Change to application/pdf 里的注释原来是葡萄牙语。现在是英语,代码做的事一样。
  • 两张便签用通俗的话重写了。作者的 n8n 的时区和调用策略也从设置里去掉了。
  • 所有凭据引用都去掉了,所以由你自己选。

开始之前

  • 一个有公开 HTTPS 地址的 n8n 实例。Telegram 用 HTTPS POST 把更新发到 webhook 地址。
  • 一个 Telegram 机器人和它的令牌。你在 Telegram 里和 BotFather 聊天就能创建。
  • 一个 Pinecone 账号和一个 1536 维的索引。Pinecone 的指南说要让维度和度量与你的向量化模型相符,OpenAI 的指南给出 text-embedding-3-small 是 1536。度量选 cosine。
  • 一个用于向量化的 OpenAI API 密钥,和一个用于回答的 Groq API 密钥。

设置

  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File。选中 workflow.json。
  2. 在 Pinecone Vector Store 和 Pinecone Vector Store1 里,把 YOUR_PINECONE_INDEX 换成你的索引名,并添加一个填了 API 密钥的 Pinecone 凭据。
  3. 在 Embeddings OpenAI 和 Embeddings 里,添加一个填了 API 密钥的 OpenAI 凭据。两边保持同一个模型。
  4. 在 Groq Chat Model 里,添加一个填了 API 密钥的 Groq 凭据。
  5. 在 Telegram Trigger、Telegram get File、Telegram Response 和 Telegram Response about Database 里,添加一个填了机器人令牌的 Telegram 凭据。
  6. 点 Test workflow,给你的机器人发一个小 PDF。机器人会回答它存了多少页。
  7. 再点一次 Test workflow,发一个关于那个 PDF 的问题。回答会出现在同一个聊天里。
  8. 打开这个工作流,这样你不在的时候机器人也会继续回答。

一次运行是怎样的

  1. 有人给你的机器人发消息时,Telegram Trigger 开始这次运行。
  2. Check If is a document 看消息里有没有文件。有文件的走上面那条路,其余的走提问路径。
  3. 文件路径:Telegram get File 下载文件,Change to application/pdf 把它标成 PDF。
  4. Pinecone Vector Store 把它插入。Default Data Loader 读取 PDF,Recursive Character Text Splitter 把它切成每块 3000 个字符、重叠 200 个字符的小块,Embeddings OpenAI 把每块转成数字。
  5. Limit to 1 只留一项,Telegram Response about Database 告诉发送的人存了多少页。
  6. 提问路径:Question and Answer Chain 取消息的文字。Vector Store Retriever 向 Pinecone Vector Store1 要最接近的几块,由 Embeddings 把问题转成数字。
  7. Groq Chat Model 根据这几块写出回答,Telegram Response 把它发到聊天里。
  8. 发送失败时会走到一个 Stop and Error 节点,所以这次运行在 n8n 里会显示为失败。

改变外观

  • 模型:Groq Chat Model 里的模型名。
  • 每块的大小:Recursive Character Text Splitter 里的 Chunk Size 和 Chunk Overlap。
  • 模型能看到几块:Vector Store Retriever 里的数量上限,它保持默认的四块。
  • 问题的措辞:Question and Answer Chain 里的文字。
  • 谁可以使用机器人:见“要知道的事”里的第一条。

要知道的事

  • 每个 PDF 都进同一个池子。索引没有命名空间,所以任何能给机器人发消息的人都能问任何人发过的任何文件。想限制的话,打开 Telegram Trigger,在 Additional Fields 下加上 Restrict to User IDs 字段,列出可以使用的 Telegram 用户号码。它在节点版本 1.2 及以上才会生效。
  • 同一个 PDF 发两次,它的各块文字会存两次。Clear Namespace 选项是关的,而且只有在你指定命名空间时才起作用。
  • Telegram 允许机器人下载最大 20 MB 的文件,所以更大的 PDF 会在 Telegram get File 失败。
  • 代码把每个文件都标成 PDF,所以 Word 文件或图片会失败。由扫描图片组成的 PDF 没有文字可存。
  • 既不是文件也不是文字的消息,比如照片,会在链这里以“文字为空”的错误停下。
  • openai/gpt-oss-120b 是推理模型,所以回答可能比普通聊天模型慢一点。
  • 回复用 Telegram 的 Markdown 模式发出,这是 n8n 的默认值。答案里单独的 _ 或 * 可能让 Telegram 拒收这条消息。
  • 你的数据:每个 PDF 的文字都会发给 OpenAI 做向量化,并存在你的 Pinecone 索引里。每个问题和相符的几块会发给 Groq。
  • 没有实测:我们没有调用任何服务来测试这个文件,而是在测试运行器里用替身回答跑过它。提问路径从消息一直跑到了回复。文件路径用文本文件代替 PDF 跑过,因为运行器读不了 PDF,所以最后那条消息里的页数没有试过。
  • 凭据:JSON 里没有任何凭据。
文件
NOTICE.md  555 B
README.md  6 KB
workflow.json  12 KB

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

更新内容

  • 第 1 版 · 2026-11-12

评价

还没有评分

写评价

还没有评价。

Mindket 的更多商品

查看 Mindket 的全部商品

anaksor-ocr

Sokheng · 工具包

这个模型从文档、收据和路牌照片里读取高棉语和英语文字,用一个检测器找文本行,再用识别器读每一行。适合需要在 Python 里做高棉语 OCR 的开发者。

新上架

Qwen2.5-7B-Instruct-GGUF

Qwen · 工具包

Qwen2.5-7B-Instruct 的 GGUF 文件,提供八种量化大小,可通过 llama.cpp 在本地聊天。适合想在自己电脑上用 7.6B 强力模型、又不想搭 Python 环境的人。

新上架

ACE-Step 1.5 XL SFT

ACE-Step · 工具包

用 4B 扩散解码器根据文字生成音乐,50 步并带引导控制,音频质量高于基础版。适合拥有 12 GB 或更多显存 GPU 的创作者。

新上架

研究类的相似商品

查看研究类的全部商品

Merlin-Cancer-Super

AbdomenAtlas · 工具包

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

新上架

EarthJev

dBenf · 工具包

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

新上架

getting-over-it-rl-jax

zimmerk4 · 工具包

用一个在 JAX 物理模拟器里学会的小型策略网络,从头到尾通关游戏 Getting Over It。适合强化学习研究者和好奇的动手爱好者。

新上架