Mindket

为每组作物算出中心点和阈值并存进 Qdrant

新上架第 1 版 · 更新于

概览

一个手动启动的 n8n 工作流:为 Qdrant 集合里的每种作物,用两种方法选出一个中心点,也就是最典型的照片。它在每个中心点上存一个相似度阈值,供异常检查用。

为每组作物算出中心点和阈值并存进 Qdrant 是一款 n8n 工作流,属于开发类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。

速览

用在
  • n8n Cloud:在那里新建一个工作流,把文件导入进去
  • 你自己的 n8n 服务器:同一个文件,同样的步骤
  • Qdrant Cloud 或你自己的 Qdrant:集合存着照片,结果存在它的点上
  • 你自己的异常检查:从 payload 里读标记和阈值

平台

连接 2 个应用

运行方式

触发

手动运行

你点 Execute workflow 时开始运行,要在几个节点里设这些值:

  • Qdrant 集群地址和集合名称,设在 Qdrant cluster variables 里
  • furthestFromCenter,距离矩阵分支用 5,文字分支用 1
  • 作物描述,写在 Textual (visual) crop descriptions 里

动作

  1. 先统计点的数量,再让 Qdrant 列出每个作物名称和它的照片数
  2. 对每个作物,Qdrant 返回它所有照片之间的相似度,一个 Code 节点选出与其余最相似的照片作为中心点
  3. 这个中心点在 Qdrant 里被标记,离它最远或第五远的照片决定它的阈值
  4. Voyage AI 嵌入每个作物的描述,该作物里最近的照片成为第二个中心点
  5. 第二个中心点同样被标记,并得到自己的阈值

结果

你的 Qdrant 集合里,选中的点上有四个 payload 字段:两个中心点标记和两个阈值

集成

开始之前要准备好这些。

Qdrant

向量数据库

统计点数、列出作物、返回距离矩阵和最近的照片,并把标记和阈值存成 payload。

需要Qdrant 集群地址和 API 密钥,放在一个 Qdrant API 凭据里,还要有一个已填好的集合

Voyage AI

嵌入模型

用 voyage-multimodal-3 把每个作物描述变成查询向量。

需要Voyage AI API 密钥,放在一个 Header Auth 凭据里

工作流检查

由 Mindket 于 2026年11月13日检查

步骤
26 个步骤,手动启动
AI
没有步骤调用 AI 模型
登录
需要登录:Qdrant、api.voyageai.com
API 密钥
文件里没有留下 API 密钥
步骤类型
Mindket 的检查器能读懂它全部 6 种步骤类型

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

关于

它是什么

这个 n8n 工作流为图片异常检查准备一个 Qdrant 集合。手动触发器启动它。对每种作物,它用两种方法找一个中心点,也就是与该作物其余照片最相似的那张。一种方法用照片之间的相似度。另一种用 Voyage AI 嵌入一段作物的文字描述,取最近的那张照片。每个中心点在 Qdrant 里被标记,并得到一个相似度阈值。干活的是二十六个节点,旁边还有二十二张便签。

适合谁

把带标签图片存在 Qdrant 里、想为每个类别得到一张典型照片和一个截止分数的机器学习工程师。如果你要的是异常检查本身,就别选它。这个文件只写下那种检查要读的数字。

谁在用,怎么用
行业谁在用怎么用例子
农业质检团队找出每种作物的典型照片,并设一个判断异常的界线一个团队为 cucumber 存下中心点和阈值。
制造检验工程师为每个产品类别准备一张参照照片和一个界线一位工程师给每种零件标出最典型的那张照片。
零售商品目录团队找出与所属类别不符的商品照片一个团队为每个类别保留一个阈值,用来发现放错的照片。
机器学习数据科学家对比由距离矩阵得到的中心点和由文字锚定的中心点一位科学家检查某个类别的两个中心点是不是同一张照片。

你需要熟悉 n8n,也要懂一点 Qdrant:它的 API 要调用十一次,还要有一个按固定方式建好的集合。

用在哪里

任何能访问 Qdrant 和 Voyage AI 的 n8n 都能运行它。它处理的是已经由批量上传填好的集合。

  • n8n Cloud:在那里新建一个工作流,把文件导入进去
  • 你自己的 n8n 服务器:同一个文件,同样的步骤
  • Qdrant Cloud 或你自己的 Qdrant:集合存着照片,结果存在它的点上
  • 你自己的异常检查:从 payload 里读标记和阈值

设置

点“下载”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 写的设置说明。需要两个账号。

先准备好这些
需要说明
n8nn8n Cloud 或你自己的服务器
Qdrant一个集群地址和 API 密钥,放在一个 Qdrant API 凭据里。集合需要一个命名向量 voyage、一个 crop_name payload 字段,以及它上面的关键字索引
Voyage AI一个 API 密钥,放在一个 Header Auth 凭据里,名称为 Authorization,值是 Bearer 加你的密钥
  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  2. 添加 Qdrant API 凭据,在调用 Qdrant 的十一个 HTTP Request 节点里选中它,从 Total Points in Collection 到 Set text medoid threshold score。
  3. 添加 Voyage 的 Header Auth 凭据,在 Embed text 里选中它。
  4. 打开 Qdrant cluster variables。把 <YOUR_QDRANT_CLUSTER_URL> 换成你的集群地址,把 collectionName 设为你的集合。
  5. 检查 Medoids Variables 和 Text Medoids Variables。它们的 furthestFromCenter 决定由哪个点来定阈值。文件里分别用 5 和 1。
  6. 打开 Textual (visual) crop descriptions,把那 29 种作物换成你自己的类别。
  7. 点 Execute workflow。

如何使用

点 Execute workflow。运行时会走过集合里的每种作物,在选中的点上写下四个 payload 字段。之后在 Qdrant 里把它们读回来。

想要不同的效果,改这里
要改的在哪里改
由哪个点来定阈值两个变量节点里的 furthestFromCenter。1 是最远的照片,5 是第五远的
作物和它们的描述Textual (visual) crop descriptions
payload 名称名称以 Set 开头的四个节点的请求体
集合Qdrant cluster variables 里的 collectionName

示例

集合里有许多标成 cucumber 的照片。

距离矩阵分支选出与其余黄瓜照片都最相似的那张,把它标成 is_medoid。然后把这张照片和第五远的黄瓜照片之间的相似度存为它的阈值。文字分支用一段文字描述做同样的事。

新手与专家

新手:n8n 把工作流画成用线连起来的方框,每个方框是一个节点,只做一件事。中心点是这一组里最靠近中间的一张真实照片。阈值是与它相似度的下限,低于这个值就不再算属于这一组。

专家:Qdrant 的距离矩阵调用返回行列偏移量和分数。Code 节点按行把分数相加,最远的点则来自用中心点向量乘以 -1 做的搜索。

值得细看的地方
节点做什么要知道的
Cluster Distance Matrix向矩阵偏移量接口发 POST,sample 和 limit 设为最大那一组的大小成本随组大小的平方增长,一张便签对此有警告
Find MedoidCode,对每个条目运行一次它按行把分数相加,返回最高那行的 id
Searching Score用翻转后的向量做精确查询limit 是 furthestFromCenter,最后一个分数乘以 -1 就是阈值
Merge按 cropName 把描述和作物合在一起没有描述的作物会被排除在文字分支之外

注意事项

scipy 那一步改用 JavaScript 重写了,异常检查本身没有包含在内。

  • 代码:原来的中心点步骤是一个用了 scipy 的 Python Code 节点。在 n8n 2 里,原生 Python 不能导入库,也没有 _input(n8n 文档,2026 年 11 月 12 日查阅)。Mindket 的版本名为 Find Medoid,用 JavaScript 把分数相加,选出同一个点
  • 没有包含:拿新图片对照中心点和阈值的那个检查是另一个工作流
  • 再次运行:Qdrant 只在调用里指名的点上保存 payload,所以如果你的数据变了,旧的中心点会一直保留它的标记,直到你清掉
  • 描述:29 种作物的描述写在文件里,一张便签说是一个聊天模型生成的
  • 你的数据:描述发给 Voyage,payload 写进你的集合。文件里没有任何凭据

README 和文件

README

为每组作物算出中心点和阈值并存进 Qdrant

一个手动启动的 n8n 工作流。对 Qdrant 集合里的每种作物,它用两种方法选出一个中心点,也就是与同组其余照片最相似的那张,并在上面存一个相似度阈值,供以后的异常检查用。

包里有什么

  • workflow.json:n8n 导出的工作流,四十八个节点。二十六个干活,二十二个是便签,解释各个步骤。里面没有任何凭据。
  • README.md:这份设置说明,压缩包里的是英文版。

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

  • 找出每组中心点的步骤原来是一个用了 scipy 的 Python Code 节点。在 n8n 2 里,原生 Python 只提供 _items 和 _item,没有 _input,也不能导入 scipy 这样的库(n8n 文档,2026 年 11 月 12 日查阅)。Mindket 的版本改名为 Find Medoid,用 JavaScript 把每个点的相似度分数相加,选出总分最高的点,这和原来做的事一样。一张便签现在也这样说明。
  • Qdrant 集群地址原来属于原作者。它现在是占位符 <YOUR_QDRANT_CLUSTER_URL>。
  • 有几个节点原来关联着作者 n8n 里的凭据。这些关联已删掉,请选你自己的。
  • 别的都没改。阈值、作物描述和其他便签都是文件原有的。

开始之前

  • 一个 n8n 实例,n8n Cloud 或自己的服务器都行。
  • 一个带标签照片的 Qdrant 集合,按批量上传的方式建好:一个来自 Voyage 模型 voyage-multimodal-3 的命名向量 voyage,每个点上有一个 crop_name payload 字段,crop_name 上还有一个关键字 payload 索引。文件里的集合叫 agricultural-crops。
  • 一个 Qdrant 集群地址和一个 API 密钥。
  • 一个 Voyage AI API 密钥,文字分支要用。

设置

  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  2. 添加一个 Qdrant API 凭据,填上你的集群地址和密钥。在每个调用 Qdrant 的 HTTP Request 节点里选中它。一共十一个,从 Total Points in Collection 到 Set text medoid threshold score。
  3. 为 Voyage 添加一个 Header Auth 凭据。名称填 Authorization,值填 Bearer <YOUR_VOYAGE_KEY>,换成你自己的密钥。在 Embed text 里选中它。
  4. 打开 Qdrant cluster variables。把 <YOUR_QDRANT_CLUSTER_URL> 换成你的集群地址,前面带 https://,结尾不要斜杠。把 collectionName 设为你的集合。
  5. 检查 Medoids Variables 和 Text Medoids Variables。它们的 furthestFromCenter 决定由哪个点来定阈值。文件里分别用 5 和 1。
  6. 打开 Textual (visual) crop descriptions,把那 29 种作物换成你自己的类别,每个类别写一句话,说明一个典型样本看起来是什么样。
  7. 点 Execute workflow。

一次运行的过程

  1. 手动触发器启动这次运行,Qdrant cluster variables 引出两条分支。
  2. 在上面的分支里,Total Points in Collection 精确统计点的数量。接着 Crop Counts 问 Qdrant crop_name 有哪些值、每个值有多少个点。然后 Info About Crop Clusters 留下作物名称和最大那一组的大小,Split Out 为每种作物生成一个条目。
  3. 对每种作物,Cluster Distance Matrix 问 Qdrant 这种作物所有点之间的相似度。Find Medoid 把每个点的分数相加,取最高的那个。Set medoid id 在那个点上存下 is_medoid。
  4. Get Medoid Vector 读出中心点的向量,Prepare for Searching Threshold 把它的符号翻转。Searching Score 再找离翻转向量最近的点,也就是离中心点最远的点。Threshold Score 取最后一个分数,Set medoid threshold score 把它存成 is_medoid_cluster_threshold。
  5. 在下面的分支里,Textual (visual) crop descriptions 存着每种作物的一段描述。Merge 把它和对应的作物配对,Embed text 用 Voyage 把它变成向量,input_type 设为 query。
  6. Get Medoid by Text 找出该作物里最接近描述的那张照片。Set text medoid id 在它上面存下 is_text_anchor_medoid,同样的阈值步骤再存下 is_text_anchor_medoid_cluster_threshold。

改变结果

  • 由哪个点来定阈值:两个变量节点里的 furthestFromCenter。1 是最远的照片,5 是第五远的。
  • 作物和它们的描述:Textual (visual) crop descriptions。
  • payload 名称:名称以 Set 开头的四个节点的请求体。
  • 集合:Qdrant cluster variables 里的 collectionName。

注意事项

  • 读取这些阈值的异常检查不在这个文件里。文件只写下 is_medoid、is_medoid_cluster_threshold、is_text_anchor_medoid 和 is_text_anchor_medoid_cluster_threshold。
  • Qdrant 只在调用里指名的点上保存 payload。如果两次运行之间你的数据变了,旧的中心点会一直保留它的 is_medoid 标记,所以先把旧的 payload 清掉。
  • 一张便签警告,组里照片超过两三百张时不要用距离矩阵调用。
  • 没有描述的作物会被排除在文字分支之外,因为 Merge 按作物名称配对。
  • Voyage 按你的密钥计费嵌入。描述发给 Voyage,payload 写进你的 Qdrant 集合。
  • 文件里没有任何凭据和密钥。
文件
NOTICE.md  707 B
README.md  5 KB
workflow.json  40 KB

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

更新内容

  • 第 1 版 · 2026-11-12

评价

还没有评分

写评价

还没有评价。

Mindket 的更多商品

查看 Mindket 的全部商品

Huashu Design

alchaincyf · 技能

把你在 AI 智能体里写的一句话需求,变成一份完成的设计:发布动画、可点击的应用原型、可编辑的幻灯片、信息图,或一组小红书图片。可在多种智能体中使用。

新上架29.4k

Guizang PPT Skill

op7418 · 技能

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

新上架29.8k

Claude Code Skills & Plugins

alirezarezvani · 技能

为 Claude Code 和其他编程智能体提供 411 个现成技能,按角色分组,从工程、产品到营销、财务和合规。以插件方式安装。适合开发者和业务团队。

新上架29.8k

开发类的相似商品

查看开发类的全部商品

buzz

block · 工具包

可自行托管的工作空间,人和 AI 智能体在同样的房间里协作,基于 Nostr 中继,把每个动作记录为签名事件。适合想自己运行中继的团队。

新上架37.3k

plannotator

backnotprop · 工具包

把你的 AI 编程智能体的计划、规格和代码改动在浏览器里打开,让你加批注或评论,并把反馈直接发回给智能体。

新上架10.5k

open-code-review

alibaba · 工具包

用 AI 智能体审查 Git 改动:它会读取文件、搜索代码库,再写出对应到具体行的审查意见。适合想在命令行里自动做代码审查的开发者。

新上架50.7k