Mindket

用 Qdrant 里的最近邻给航拍照片分类

新上架第 1 版 · 更新于

概览

一个由另一个工作流或 AI 智能体带着图片地址调用的 n8n 工作流。它用 Voyage AI 嵌入图片,返回 Qdrant 里最近邻大多数共有的类别。

用 Qdrant 里的最近邻给航拍照片分类 是一款 n8n 工作流,属于开发类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。

速览

用在
  • n8n Cloud:在那里新建一个工作流,把文件导入进去
  • 你自己的 n8n 服务器:同一个文件,同样的步骤
  • AI 智能体:把它加成工作流工具,智能体就能说出图片内容
  • 另一个工作流:用 Execute Workflow 节点调用它,并发一个带 query.imageURL 的条目

平台

连接 2 个应用

运行方式

触发

由另一个工作流调用

另一个工作流或 AI 智能体调用它时开始运行,条目里带一个值:

  • 图片的地址,放在 query.imageURL 里

动作

  1. Voyage AI 把这个地址上的图片变成嵌入向量
  2. 向 Qdrant 要与这个向量最近的已标注照片,一开始十张,连同它们的 payload
  3. 一个 Code 节点统计这些照片的类别名称,保留最常见的两个
  4. 前两个类别票数相同时,再多要五个近邻,重新投票,最多到 100
  5. 返回最常见的类别

结果

一个条目,里面有 class,就是最近的已标注照片中大多数带的名称

集成

开始之前要准备好这些。

Voyage AI

嵌入模型

用 voyage-multimodal-3 根据公开地址把图片变成向量。

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

Qdrant

向量数据库

从你填好的集合里返回与该向量最近的已标注照片,连同它们的 payload。

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

工作流检查

由 Mindket 于 2026年11月13日检查

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

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

关于

它是什么

这个 n8n 工作流说出一张航拍照片里是哪种地貌。另一个工作流或 AI 智能体带着图片地址调用它。它向 Voyage AI 要这张照片的嵌入向量,再去查一个有标签照片的 Qdrant 集合,找出最近的那些。其中大多数共有的类别就是答案。两个类别票数相同时,它再多要五个近邻,重新投票。干活的是十个节点,旁边还有八张便签。

适合谁

在向量数据库上做图片搜索或分类、想给智能体或流水线加一个现成分类步骤的开发者。没有带标签的集合就别选它。这个工作流只读集合,所以你得先把它填好。

谁在用,怎么用
行业谁在用怎么用例子
测绘GIS 分析师在人工复核之前,先把航拍图块分成地貌类型一位分析师发来一个图块的地址,得到 harbor。
房地产数据团队给房产照片档案里的场景打标签一个团队归档前把一张照片标成 denseresidential。
农业农学家把农田照片和道路、森林或建筑区分开一位巡查员发来一张照片,就知道它拍的是不是农田。
软件智能体开发者给 AI 智能体一个能说出图片内容的工具一个智能体带着地址调用这个工作流,读回类别。

你需要熟悉 n8n:一个已经填好的集合、两个凭据,还有调用这个工作流的办法。

用在哪里

任何能访问 Qdrant 和 Voyage AI 的 n8n 都能运行它。另一个工作流用 Execute Workflow 节点调用它,或者一个 AI 智能体把它当工具调用。

  • n8n Cloud:在那里新建一个工作流,把文件导入进去
  • 你自己的 n8n 服务器:同一个文件,同样的步骤
  • AI 智能体:把它加成工作流工具,智能体就能说出图片内容
  • 另一个工作流:用 Execute Workflow 节点调用它,并发一个带 query.imageURL 的条目

设置

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

先准备好这些
需要说明
n8nn8n Cloud 或你自己的服务器
Qdrant一个集群地址和 API 密钥,放在一个 Qdrant API 凭据里,还有一个带标签照片的集合
Voyage AI一个 API 密钥,放在一个 Header Auth 凭据里,名称为 Authorization,值是 Bearer 加你的密钥
图片Voyage 能下载的公开地址,格式为 PNG、JPEG、WEBP 或 GIF
  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  2. 添加 Qdrant API 凭据,在 Query Qdrant 里选中它。
  3. 添加 Voyage 的 Header Auth 凭据,在 Embed image 里选中它。
  4. 打开 Qdrant variables + embedding + KNN neigbours。把 <YOUR_QDRANT_CLUSTER_URL> 换成你的集群地址,把 collectionName 设为你的集合。文件里用的是 land-use。
  5. 检查 limitKNN,也就是一开始要的近邻数。文件里用的是 10。
  6. 想单独试一下,就在 Execute Workflow Trigger 上固定 { "query": { "imageURL": "<A_PUBLIC_PICTURE_ADDRESS>" } },换成真实地址,再点 Execute workflow。

如何使用

给这个工作流发一个带 query.imageURL 的条目。它返回一个带 class 的条目,也就是最近的照片大多数带的名称。想单独测试,就在触发器上固定这个条目,再点 Execute workflow。

想要不同的效果,改这里
要改的在哪里改
集合和一开始的近邻数Qdrant variables + embedding + KNN neigbours 里的 collectionName 和 limitKNN
票数相同时最多扩到多少Check tie 里的 100 和 Increase limitKNN 里的 5
类别字段Majority Vote 里的字段名
嵌入模型Embed image 里的 model,必须和做出这个集合的模型一致

示例

一次调用发来一张沿码头停着船只的航拍照片的地址。

Voyage 把照片变成向量,Qdrant 返回最近的十张带标签照片。投票统计它们的类别名称。如果 harbor 最多,工作流就返回 class,值为 harbor。

新手与专家

新手:n8n 把工作流画成用线连起来的方框,每个方框是一个节点,只做一件事。向量是一串数字,代表一张图片看起来的样子。看起来相似的照片,向量也靠得近,Qdrant 找的就是最近的那些。

专家:这是一个带平局循环的 k 近邻投票。前两个类别票数相同、且近邻数不超过 100 时,近邻数每次加五。

值得细看的地方
节点做什么要知道的
Query Qdrant对集合的 points query 发 HTTP Request,用向量名 voyage每个点都带着 payload 返回,投票就读它们
Majority Vote用 JavaScript 的 Code 节点,统计返回的点的类别字段它返回最常见的两个类别和它们的票数
Check tie带三个条件的 If 节点只有近邻数不超过 100 时,平局才会重复
Propagate loop variablesSet 节点,保留结果和找到的点数集合不超过 100 个点时,一个横跨所有点的平局可能无休止地重复

注意事项

投票改用 JavaScript 重写了,这个工作流总会给出一个答案。

  • 代码:原来的 Majority Vote 是一个 Python Code 节点。在 n8n 2 里,原生 Python 会拦住标准库导入,除非实例允许(n8n 文档,2026 年 11 月 12 日查阅)。Mindket 的版本用 JavaScript 统计类别,返回同样的列表
  • 总有答案:文件里没有分数门槛,所以一张不像任何类别的照片,也会得到最近的那个类别
  • 集合:填充集合不属于这个文件。点需要用 document 模式做出的命名向量 voyage,payload 里还要有类别名称
  • 准确率:一张便签说,原作者在数据集的测试部分上测得 93.24%,没有调优。Mindket 没有运行过那个测试
  • 你的数据:图片地址发给 Voyage,向量发给 Qdrant。不会往集合里写任何东西。文件里没有任何凭据

README 和文件

README

用 Qdrant 里的最近邻给航拍照片分类

一个由另一个工作流或 AI 智能体带着图片地址调用的 n8n 工作流。它用 Voyage AI 嵌入这张图片,在一个 Qdrant 集合里找出它的最近邻,并回答其中大多数共有的类别。

包里有什么

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

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

  • Majority Vote 步骤原来是一个 Python Code 节点,用 Counter 统计类别名称。在 n8n 2 里,原生 Python 只提供 _items 和 _item,没有 _input,也会拦住 collections 这样的标准库导入,除非实例允许(n8n 文档,2026 年 11 月 12 日查阅)。Mindket 的版本用 JavaScript 统计,并返回同样的两个最常见类别的列表。
  • Qdrant 集群地址原来属于原作者。它现在是占位符 <YOUR_QDRANT_CLUSTER_URL>。
  • 文件里带着一个保存的测试输入,是原作者自己存储桶里的一个图片地址。它已删掉,请固定一个你自己的测试输入。
  • 有两个节点原来关联着作者 n8n 里的凭据。这些关联已删掉,请选你自己的。
  • 别的都没改。平局循环、提示词和便签都是文件原有的。

开始之前

  • 一个 n8n 实例,n8n Cloud 或自己的服务器都行。
  • 一个已经存着带标签图片的 Qdrant 集合。每个点都需要一个叫 voyage 的命名向量,由 Voyage 模型 voyage-multimodal-3 以 document 的 input_type 做出,还要有一个 payload 字段 landscape_name 存它的类别。
  • 一个 Qdrant 集群地址和一个 API 密钥。
  • 一个 Voyage AI API 密钥。
  • 任何人都能从公开地址打开的图片,因为 Voyage 要下载它们。

设置

  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  2. 添加一个 Qdrant API 凭据,填上你的集群地址和密钥。在 Query Qdrant 里选中它。
  3. 为 Voyage 添加一个 Header Auth 凭据。名称填 Authorization,值填 Bearer <YOUR_VOYAGE_KEY>,换成你自己的密钥。在 Embed image 里选中它。
  4. 打开 Qdrant variables + embedding + KNN neigbours。把 <YOUR_QDRANT_CLUSTER_URL> 换成你的集群地址,前面带 https://,结尾不要斜杠。把 collectionName 设为你的集合。文件里用的是 land-use。
  5. 检查 limitKNN,也就是一开始要的近邻数。文件里用的是 10。
  6. 想试一下,就打开 Execute Workflow Trigger,固定数据 { "query": { "imageURL": "<A_PUBLIC_PICTURE_ADDRESS>" } },换成真实地址,再点 Execute workflow。
  7. 想从另一个工作流里用,就用 Execute Workflow 节点或工作流工具调用它,并发一个带 query.imageURL 的条目。

一次运行的过程

  1. Execute Workflow Trigger 收到条目,Image Test URL 把 query.imageURL 复制到 imageURL。
  2. Embed image(HTTP Request 4.2)把地址发给 Voyage 的多模态嵌入 API。
  3. Qdrant variables + embedding + KNN neigbours 把向量留作 ImageEmbedding,并设好集群地址、集合名称和 limitKNN。
  4. Query Qdrant 向集合的 points query 要与这个向量最近的点,带上 payload,用向量名 voyage。
  5. Propagate loop variables 存下返回了多少个点,并保留结果。Majority Vote 统计这些点的 landscape_name,返回最常见的两个类别和它们的票数。
  6. Check tie 看这两个票数。如果相等且 limitKNN 不超过 100,Increase limitKNN 就加五个近邻,Query Qdrant 再运行一次。
  7. 否则 Return class 把最常见的类别作为 class 返回。

改变结果

  • 集合和一开始的近邻数:Qdrant variables + embedding + KNN neigbours。
  • 平局最多能扩到多少:Check tie 里的 100 和 Increase limitKNN 里的 5。
  • 类别字段:Majority Vote 里的 landscape_name。
  • 嵌入模型:Embed image 里的 model。它必须和做出这个集合的模型一致。

注意事项

  • 它总会回答一个类别,哪怕图片不像集合里的任何类别。文件里没有分数门槛。
  • 填充集合不属于这个文件。步骤和任何批量上传一样:用 document 模式嵌入图片,存成命名向量 voyage,并把类别放进 landscape_name。
  • 一张便签说,原作者在数据集的测试部分上测得 93.24%,没有调优。Mindket 没有运行过那个测试。
  • Propagate loop variables 把 limitKNN 重置为返回的点数。集合不超过 100 个点时,一个横跨所有点的平局可能无休止地重复。
  • Voyage 的文档(2026 年 11 月 12 日查阅)说图片必须是 PNG、JPEG、WEBP 或 GIF,最大 20 MB、1600 万像素。它的地址还必须返回内容长度,并遵守 robots.txt。
  • 文件里用的是 voyage-multimodal-3,那份文档仍把它列为推荐模型。
  • 图片地址发给 Voyage,向量发给 Qdrant。不会往集合里写任何东西。
  • 文件里没有任何凭据和密钥。
文件
NOTICE.md  667 B
README.md  5 KB
workflow.json  16 KB

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

新上架

开发类的相似商品

查看开发类的全部商品

Claude Code Skills & Plugins

alirezarezvani · 技能

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

新上架29.8k

buzz

block · 工具包

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

新上架37.3k

plannotator

backnotprop · 工具包

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

新上架10.5k