Mindket

用 Qdrant 和 Mistral 对本地文件问答

新上架第 1 版 · 更新于

概览

一个 n8n 工作流,监视一个文件夹,把里面的文本文件存进 Qdrant 向量库,文件变化时自动新增、替换和清除。再用聊天窗口通过 Mistral 回答关于这些文件的问题。

用 Qdrant 和 Mistral 对本地文件问答 是一款 n8n 工作流,属于效率类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。

速览

用在
  • 你自己的 n8n 服务器:允许这个触发器,让 n8n 能读到文件夹,再导入文件
  • Docker:在触发器里的路径上挂载一个文件夹,或者改掉这个路径
  • Qdrant:一台 n8n 能访问的服务器,四个 HTTP 节点里的地址要改成它的
  • 换一个模型:把 Mistral 节点换成你的 n8n 提供的其他嵌入和聊天模型

平台

连接 2 个应用

运行方式

触发

文件夹事件

被监视的文件夹里有文件新增、修改或删除时开始运行,带有:

  • 事件和文件路径
  • 集合名 local_file_search

动作

  1. 事件被分到新增、修改或删除分支
  2. 新文件按文本读入,用 Mistral 做嵌入,连同路径元数据存进 Qdrant
  3. 修改过的文件先按路径找到并删除已存的片段,再重新存一遍
  4. 删除的文件按路径找到已存的片段并删掉
  5. 在聊天里,问题会取回匹配的段落,由 Mistral 模型据此作答

结果

一个跟着文件夹变化的 Qdrant 集合,以及从已存段落得出的聊天回答

集成

开始之前要准备好这些。

Mistral AI

嵌入和聊天模型

把每个文件的文字做嵌入以便存储,把每个问题做嵌入以便检索,再根据匹配的段落写出回答。

需要Mistral API 密钥

Qdrant

向量数据库

连同文件路径一起存嵌入后的段落,按路径找到它们以便更新或清除,并返回和问题最匹配的内容。

需要一台 n8n 能访问的 Qdrant 服务器,需要时还要它的 API 密钥

工作流检查

由 Mindket 于 2026年11月13日检查

步骤
16 个步骤,由触发节点、手动或由聊天消息启动
AI
2 个步骤调用 AI 模型:Qdrant Vector Store、Question and Answer Chain
登录
需要登录:Qdrant、Mistral
API 密钥
文件里没有留下 API 密钥
步骤类型
Mindket 的检查器能读懂它 10 种步骤类型中的 9 种,读不懂的是:Local File Trigger

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

关于

它是什么

这个 n8n 工作流把一个文本文件夹变成可以提问的资料库。Local File Trigger 监视这个文件夹。新文件会被读入,用 Mistral 做嵌入,存进 Qdrant 向量库。修改过的文件,先删掉旧的片段,再重新存一遍。删除的文件,对应的片段会被清掉。随后聊天窗口接收问题,从 Qdrant 取回匹配的段落,让 Mistral 模型据此写出回答。原来的说明用银行对账单作例子。二十三个节点完成这些事,旁边还有六张便签。

适合谁

把笔记、报告或对账单存成文本文件、在自己的服务器上运行 n8n、旁边有一个 Qdrant 向量库的人。n8n Cloud 上没有这个文件夹触发器,所以别在那里选它;PDF 或图片也别选,这个版本把文件当文本来读。

谁在用,怎么用
行业谁在用怎么用例子
金融小企业主对存成文本的对账单和发票提问企业主问哪个月的刷卡付款最多,答案来自保存下来的文件。
调研分析师让一个笔记文件夹可以按问题检索分析师把一份新笔记放进文件夹,一分钟后就能对它提问。
法务律师助理查询从合同导出的一批文本律师助理问哪些文件提到了续约日期。
运维IT 团队给团队一个对共享文档的聊天窗口,文档以文本保存IT 负责人更新了一份运行手册,聊天就从新版本里作答。

You need some n8n and some server skill: 要会导入文件、添加两个凭据、打开一个默认关闭的节点,并让它指向一个文件夹。Qdrant 要先运行起来。工作流自带的便签没有给出设置时长。

用在哪里

只有自己托管的 n8n 能运行它,因为 n8n Cloud 上没有 Local File Trigger。

  • 你自己的 n8n 服务器:允许这个触发器,让 n8n 能读到文件夹,再导入文件
  • Docker:在触发器里的路径上挂载一个文件夹,或者改掉这个路径
  • Qdrant:一台 n8n 能访问的服务器,四个 HTTP 节点里的地址要改成它的
  • 换一个模型:把 Mistral 节点换成你的 n8n 提供的其他嵌入和聊天模型

设置

点“下载”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 写的设置说明。两个账号加两项设置就够完成所有步骤。

先准备好这些
需要说明
n8n自己托管的 n8n,已允许 Local File Trigger,文件夹也能读取
Mistral一个用于嵌入和聊天的 API 密钥
Qdrant一台 n8n 能访问的服务器,需要时还要它的 API 密钥
文件一个放纯文本文件的文件夹
  1. 启动 n8n 时允许 Local File Trigger。从 n8n 2.0 起它默认被排除,所以要把它从 NODES_EXCLUDE 里去掉。
  2. 把文件夹加进 N8N_RESTRICT_FILE_ACCESS_TO,让 n8n 能读它。用 Docker 的话,在 /home/node/host_mount/local_file_search 挂载一个文件夹,或者改 Local File Trigger 里的路径。
  3. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  4. 添加一个 Mistral Cloud 凭据,在 Embeddings Mistral Cloud、Embeddings Mistral Cloud1 和 Mistral Cloud Chat Model 里选中它。
  5. 添加一个 Qdrant 凭据,在两个 Qdrant Vector Store 节点和四个 Qdrant HTTP 节点里选中它。你的 Qdrant 在别处的话,改掉这些 HTTP 节点里的 http://qdrant:6333。
  6. 激活工作流,把一个文本文件复制进文件夹,在 Executions 里看这次运行。
  7. 在编辑器里打开聊天,问一问这个文件。回答应该用到它的内容。

如何使用

在文件夹里新增、修改或删除文本文件,资料库就会跟着变。用平常的话向聊天窗口提问,它会从找到的段落里作答。它会搜索集合里的每一个文件,也不会记住之前的问题。

想要不同的效果,改这里
要改的在哪里改
文件夹和事件Local File Trigger
集合名Set Variables 里的 qdrant_collection,以及 Qdrant Vector Store1 的集合
文件怎么切分Recursive Character Text Splitter
聊天读多少段落Vector Store Retriever
聊天模型Mistral Cloud Chat Model

示例

你把一个记录刷卡付款的文本文件复制进文件夹。工作流把它读入,做嵌入,存进 Qdrant。

你打开聊天,问哪一笔付款最大。聊天取回匹配的段落,Mistral 据此写出回答。之后你保存了一份改正过的文件,旧的片段会在新的存入之前被删掉。

新手与专家

新手:n8n 把工作流画成用线连起来的方框,每个方框是一个节点,只做一件事。这个工作流有两个彼此独立的起点。文件夹触发器让资料库保持最新,聊天窗口则从资料库里回答问题。先用一个小文件试第一个,再多加文件。

专家:同步通过 HTTP 节点调用 Qdrant 的 REST API,用文件路径作过滤条件。

值得细看的地方
节点做什么要知道的
Local File Trigger监视文件夹里的新增、修改和删除事件只有自己托管的 n8n 才有,从 n8n 2.0 起默认关闭
Handle File Event把每个事件分到删除、修改或新增分支手动运行不带事件,所以什么也不会分出去
Search For Existing Point1在 Qdrant 里滚动查找 metadata.filter_by_filename 等于文件路径的点这个版本请求 1000 个点,而不是一个
Prepare Embedding Document用位置、时间和文件内容拼成一段文字从内存中的二进制数据里把文件按文本解码
Qdrant Vector Store把文字做嵌入并存起来集合不存在时会创建它

注意事项

模型换过了,修了四处细节,而且这套设置的活动部件比大多数都多。

  • 模型:mistral-small-2402 已于 2025 年 6 月 16 日停用。Mindket 的版本调用 mistral-small-2603,这是 Mistral 文档里 Mistral Small 4 的 API 名称,2026 年 11 月 12 日查阅
  • 集合:聊天原来读 BankStatements,而文件存进 local_file_search。现在两边都用 local_file_search
  • 文件路径:原来用文件节点并不返回的字段来拼它,现在从文件的二进制数据里读目录和名字
  • 删除的文件:那个分支原来搜索的是修改文件的路径,现在搜索被删除的那个,并且最多清掉 1000 个片段,而不是一个
  • 已有的文件:只有激活之后发生变化的文件才会被索引。较早的文件要重新保存一次
  • 只支持文本:PDF 和图片读出来是乱码,而文件系统二进制模式只会给节点一个引用,拿不到内容
  • 修改过但没有已存片段的文件会被跳过,不会被新增
  • 你的数据:文件文字会发给 Mistral 做嵌入,每个问题还会把匹配的段落发给 Mistral。Qdrant 存着这些段落。索引私人文件之前,先看 Mistral 的数据条款
  • 费用:嵌入和回答都用你的 Mistral 密钥
  • 凭据:JSON 里没有任何凭据

README 和文件

README

用 Qdrant 和 Mistral 对本地文件问答

一个 n8n 工作流,监视 n8n 所在机器上的一个文件夹。它把文件夹里的文本文件存在 Qdrant 向量库里:新文件加进去,修改过的替换掉,删除的清掉。然后一个聊天窗口用 Mistral 模型读取匹配的段落,回答关于这些文件的问题。原来的说明用银行对账单作例子。

包里有什么

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

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

  • 聊天模型原来是 mistral-small-2402,Mistral 已于 2025 年 6 月 16 日停用它。这个副本调用 mistral-small-2603,这是 Mistral 文档里 Mistral Small 4 的 API 名称,2026 年 11 月 12 日查阅。
  • 聊天原来读名叫 BankStatements 的集合,而文件存进的是 local_file_search。Qdrant Vector Store1 现在读 local_file_search,聊天就能找到文件夹分支存进去的内容。
  • Prepare Embedding Document 原来用 $json.directory 拼每个文件的位置,而 Read File 节点并不返回这个字段。现在改成从文件的二进制数据里读目录和文件名,这样存下的位置就和触发器报告的路径一致。
  • Search For Existing Point 在删除文件的分支上查的是 file_changed,现在改成查 file_deleted。
  • 两个搜索原来都用 limit 1 只请求一个点,所以一个文件只有一个片段被清掉。现在上限是 1000。
  • 一张便签原来邀请读者去一个聊天社区和论坛,最后那一段已经删掉。
  • 凭据关联和保存模板时留下的标记已删掉。请选你自己的凭据。

开始之前

  • 自己托管的 n8n。n8n Cloud 上没有 Local File Trigger。
  • 一个 Mistral API 密钥。
  • 一台 n8n 能访问的 Qdrant 服务器,需要时还要它的 API 密钥。
  • 一个放纯文本文件、供工作流监视的文件夹。

设置

  1. 启动 n8n 时允许 Local File Trigger。从 n8n 2.0 起它默认被排除,所以要把它从 NODES_EXCLUDE 里去掉。
  2. 让 n8n 能读这个文件夹。从 n8n 2.0 起,N8N_RESTRICT_FILE_ACCESS_TO 默认是 ~/.n8n-files,所以要把你的文件夹加进去。用 Docker 的话,在 /home/node/host_mount/local_file_search(也就是 Local File Trigger 里的路径)挂载一个文件夹,或者改这个路径。
  3. 在 n8n 里导入 workflow.json:新建一个工作流,打开它的菜单,选 Import from File。
  4. 添加一个 Mistral Cloud 凭据,在 Embeddings Mistral Cloud、Embeddings Mistral Cloud1 和 Mistral Cloud Chat Model 里选中它。
  5. 添加一个 Qdrant 凭据,在 Qdrant Vector Store、Qdrant Vector Store1 和四个 Qdrant HTTP 节点里选中它。HTTP 节点里还写着地址 http://qdrant:6333。你的 Qdrant 在别处的话,把它改掉。
  6. 激活工作流。把一个文本文件复制进文件夹,在 Executions 里看这次运行出现。
  7. 在编辑器里打开聊天,问一问这个文件。回答应该用到它的内容。

一次运行的过程

  1. Local File Trigger 在每个文件被新增、修改或删除、写入完成之后触发。Set Variables 把事件变成 file_added、file_changed 或 file_deleted 之一,带上文件路径,并把集合命名为 local_file_search。
  2. Handle File Event 把这一条分到三个输出之一。
  3. 新增:Read File 读入文件,Prepare Embedding Document 用文件位置、处理时间和内容拼成一段文字。Qdrant Vector Store 用 Mistral 做嵌入并存起来。Default Data Loader 把文件路径作为 filter_by_filename 附上,Recursive Character Text Splitter 把文字切成块。集合不存在时,Qdrant 会创建它。
  4. 修改:Search For Existing Point1 向 Qdrant 查 filter_by_filename 等于这个路径的点。Has Existing Point?1 检查有没有,Delete Existing Point 把它们删掉。Remap for File_Added Flow 再把路径送上新增的路线,文件就重新存了一遍。
  5. 删除:Search For Existing Point 找到这个路径对应的点,Has Existing Point? 检查它们,Delete Existing Point1 把它们删掉。这两个删除节点在原来的命名里,编号是互相错开的。
  6. 聊天:Chat Trigger 把问题交给 Question and Answer Chain。Vector Store Retriever 从 Qdrant Vector Store1 取回匹配的块,Mistral Cloud Chat Model 据此写出回答。

改变样子

  • 文件夹和事件:Local File Trigger。
  • 集合名:Set Variables 里的 qdrant_collection,以及 Qdrant Vector Store1 的集合。两处要保持一致。
  • 文件怎么切分:Recursive Character Text Splitter,它自己的默认值是 1000 个字符、不重叠。
  • 聊天读多少段落:Vector Store Retriever,默认取 4 个。
  • 聊天模型:Mistral Cloud Chat Model。

值得知道的

  • 只有工作流激活之后发生变化的文件才会被索引。文件夹里原来就有的文件,要重新保存一次才会被读入。
  • Prepare Embedding Document 从 n8n 内存中的二进制数据(默认模式)里把文件按文本解码。PDF 和图片读出来是乱码,而文件系统或 S3 的二进制模式只会给节点一个引用,不是内容。
  • 手动触发器带着没有文件事件的数据进入 Set Variables,所以点 Test workflow 没有什么用。
  • 修改过但没有已存片段的文件会被跳过,不会被新增。Set Variables 还设了一个 directory,没有任何节点读它。
  • file created 那一行写的是工作流处理文件的时间,不是文件创建的时间。
  • 每个文件的文字都会发给 Mistral 做嵌入,每个问题还会把匹配的段落发给 Mistral。Qdrant 存着这些段落。对于银行对账单或其他私人文件,请先看 Mistral 的数据条款,以及你的 Qdrant 在哪里运行。
  • 费用:嵌入和回答都用你的 Mistral 密钥。
  • 聊天没有过滤条件,它会搜索集合里的所有文件。
文件
NOTICE.md  682 B
README.md  6 KB
workflow.json  24 KB

3 个文件,共 31 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 的创作者。

新上架

效率类的相似商品

查看效率类的全部商品

Guizang PPT Skill

op7418 · 技能

能生成单文件 HTML 幻灯片、幻灯片配图和多平台封面的技能,有两套视觉风格,还带演讲者模式用于排练。适合使用 Claude Code 或 Codex 的演讲者。

新上架29.8k

Frontend Slides

zarazhangrui · 技能

从零开始或从 PowerPoint 文件生成 HTML 演示文稿,并展示几种视觉风格预览供你挑选,适合不懂 CSS 和 JavaScript、又想做网页幻灯片的人。

新上架32.3k

IPTV

iptv-org · 工具包

把来自多个国家的公开电视直播频道整理成播放列表,任何支持直播流的视频播放器都能打开。适合想看直播的观众,也适合需要频道数据的开发者。

新上架144k