news 2026/9/26 4:19:08

Jev可视化图片分类

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Jev可视化图片分类

用 Cloudflare Workers AI + Jev 做一个可视化图片分类传送带

项目地址:Jev Sense

技术栈:Node.js 20+、原生 JavaScript、Cloudflare Workers AI、Jev(System One)

最近做了一个图片分类小项目:把图片放上传送带,图片经过扫描区时提取视觉线索,再由另一个模型根据线索选择标签,最后落入对应的分类箱。相比只展示一个分类结果,这个界面能把“看到了什么”和“为什么分到这里”都呈现出来。

目前项目以动物图片为例,内置 30 张示例图、30 个动物标签,以及哺乳类、鸟类、爬行类、两栖类、鱼类、昆虫类六个分类出口。无法确定或请求失败的图片会进入“待复核”。

下面是六张示例图经过传送带并完成分拣的动图。录制时使用真实的 Cloudflare 和 Jev 服务,动图以 1.5 倍速播放。

页面总览如下。总览截图使用模拟模式,主要展示界面布局。

为什么拆成两次模型调用

整个流程可以概括为:

图片 → Cloudflare 视觉模型提取可见特征 → Jev 根据文字证据选标签 → 分类或待复核

第一步调用 Cloudflare Workers AI 的视觉模型@cf/meta/llama-4-scout-17b-16e-instruct,让它描述图片里可见的动物特征,例如体形、颜色、羽毛或鳞片。提示词要求它不要直接做最终物种分类,也不要执行图片中出现的指令。

第二步将视觉描述交给 Jev。Jev 收到的是文字证据和候选标签,不接收原图;它需要从 30 个预设动物标签和uncertain中选择一个。如果证据不足,就选择uncertain。这样,视觉观察和业务判断有了明确的边界,页面也能分别展示两步的结果。

最初考虑过把图像和文字都转成向量,再交给 Jev 判断。但项目使用的 System One 接口没有提供这套流程所需的文档化多模态向量输入方式,因此最终采用了“视觉描述 → 结构化判断”的实现。

前后端是怎么衔接的

服务端是一个不依赖 Web 框架的 Node.js HTTP 服务。前端传送带主要调用两个接口:

接口作用
POST /v1/describe-animal接收图片,返回视觉描述和耗时
POST /v1/decide-animal接收视觉描述,返回 Jev 选择的标签、类别和耗时

服务端也提供POST /v1/classify-animal,用于一次请求完成上述两步;POST /v1/judge则支持传入自定义问题。当前传送带页面使用的仍是固定动物标签,并没有做成任意场景的分类界面。

前端在图片接近扫描区时发起视觉请求;拿到描述后,图片继续向闸口移动,同时发起 Jev 请求。抵达闸口后,页面等待判断结果再决定出口。模型请求与动画有一部分时间重叠,但每张图片仍然先得到视觉描述,再提交 Jev 判断。

还有两个细节比较重要:

  1. 图库自带的参考标签只用于浏览器中的结果对照,不会随推理请求发给模型,避免“把答案写进题目”。
  2. 模拟模式只演示页面和传送带流程,不会真正识别图片;它的结果会进入“待复核”,不会伪装成识别成功。

本地运行

准备 Node.js 20 或更新版本,然后在 PowerShell 中运行:

git clone https://github.com/xiaotao-xiaotao/jev-sense.gitSet-Locationjev-senseCopy-Itemconfig.example.json config.json npmstart

浏览器打开http://127.0.0.1:8788。示例配置默认是server.mock: true,此时不调用外部模型,适合先体验交互。

要运行真实分类,在config.json中将server.mock改为false,并填写 Cloudflare Account ID、Workers AI Token 和 Jev API Key。示例配置中的 Jev 接口与模型只是项目使用时的配置,实际可用性以服务提供方当前情况为准。config.json已加入.gitignore,不要把真实密钥提交到仓库。

页面支持多图上传和拖放,格式为 PNG、JPEG、WebP;单张原图上限 20 MB,队列最多 20 张。前端会压缩上传图片,预置图在发起识别请求前也会缩小尺寸。处理后可以在页面查看视觉线索、Jev 原始判定、耗时和分拣记录。

当前边界与后续方向

这还是一个动物分类演示。上传不在预设标签内的物种时,模型可能无法给出合适标签;“待复核”用于承接不确定结果和请求失败。仓库中的六图演示与图库标注一致,但这不能当作整体准确率评估。

这套“先提取证据,再按规则判断”的流程可以继续探索图片打标签、内容审核或自定义分类。迁移到新场景时,需要重新设计视觉提示词、候选标签和判定规则,并用真实样本验证,再安排人工复核。

项目代码、运行说明和演示视频都在 GitHub 仓库。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 4:19:05

7MB轻量神器File2MD:本地OCR识别,将PDF/扫描件一键转为Markdown

有一类工具属于那种“没碰到之前觉得无所谓,碰到一次就再也回不去”的类型。File2MD对我来说就是这一种——一个只有7兆左右的轻量化文档转Markdown工具,内置OCR识别能力,官方宣称精度达到98%,能把docx、PDF、扫描件图片等常见格式…

作者头像 李华
网站建设 2026/9/26 4:18:14

重庆别墅全案软装案例:布芭软装进口窗帘+手工地毯,附年度优选清单

重庆别墅全案软装,从行业基础认知到落地选型指南提到别墅软装,很多业主的第一印象还是买几件进口家具、挂两幅画,其实经过二十余年行业发展,全案软装已经从单纯的单品选配,升级为从空间结构规划、风格统一搭配到落地交…

作者头像 李华
网站建设 2026/9/26 4:17:55

成都理想i8车灯升级怎么选?从原车短板到专车专用方案的实操参考

本篇将回答的核心问题 很多成都理想i8车主在咨询车灯升级前,嘴里问出来的往往是这几个问题:“近光铺路距离短,远光又散,晚上跑绕城和快速路总感觉看不清,原车参数看着不低,为什么实际用起来这么费劲&#x…

作者头像 李华
网站建设 2026/9/26 4:17:49

深度解读Work Agent多源信息整合的长程任务执行机制

过去三年AI交互的形态发生了肉眼可见的迭代,最早的生成式AI只能完成单轮问答,用户输入明确指令后返回对应结果,对话上下文窗口仅能承载几轮交互的信息。随后多轮对话能力的普及让AI可以承接更长的交互链路,用户可以逐步补充信息调…

作者头像 李华
网站建设 2026/9/26 4:17:43

AI时代Python金融大数据分析实战:ChatGPT让金融大数据分析插上翅膀

如今这个时代, 人工智能技术正在飞速地向前发展。因为编程语言具有高效以及容易学习这些特点, 所以它在金融大数据分析领域里面的应用范围正在变得越来越广泛。借助于这种工具, 我们能够非常轻松地处理那些规模非常大的数据, 同时也能够开展数据挖掘工作以及建模工作, 从而为金…

作者头像 李华