
人工智能AI 应用智能硬件本地部署可穿戴AI Agent【免费下载链接】OpenGlassTurn any glasses into AI-powered smart glasses项目地址https://gitcode.com/GitHub_Trending/op/OpenGlass点击查看免费下载OpenGlass 的核心能力之一是把智能眼镜拍摄的画面交给本地视觉语言模型VLM转成文字描述为后续记忆人、识别物体、回答提问等 Agent 功能提供输入。prompts/series_1/img_54.md正是这一能力在真实图片img_54.jpeg上的一次多模型对比评测输出同一张照片分别交给默认模型与两个 llava 系列模型得到了风格迥异的三种描述。本文将完整呈现这份评测结果结合仓库源码剖析图像描述管道的实现原理、模型切换机制与配置方法帮助你理解 OpenGlass 是如何看图说话的以及如何复现并扩展这套评测。这份评测文档是什么prompts/series_1/img_54.md是 OpenGlass 仓库中prompts目录下 57 张测试图片之一的评测输出文件。它由批处理脚本 prompts/generate.ts 自动生成脚本遍历prompts/series_1目录下的所有.jpeg图片对每张图片依次调用四种图像描述策略并把结果以####标题####分节的形式写入对应的.md文件。以 img_54 为例文档包含四个分节分节标题对应的调用方式见 prompts/generate.ts####Description####使用imageDescription(img)默认调用默认模型为moondream:1.8b-v2-fp16####Description (llava-llama3)####imageDescription(img, llava-llama3)####Description (llava:34b-v1.6)####imageDescription(img, llava:34b-v1.6)####Description (moondream:1.8b-v2-fp16)####imageDescription(img, moondream:1.8b-v2-fp16)可以看到最后一次显式指定默认模型的输出为空这是一个值得分析的异常现象后文会专门讨论。被评测的图片内容三个模型的三种视角根据文档中三个模型的输出img_54.jpeg 描绘的是一位男子仰头对着镜头自拍的室内场景。有意思的是三个模型对同一张图的理解差异极大从不同侧面还原了画面默认调用moondream 系即####Description####侧重构图与透视指出男子头部上扬、俯视镜头、从下往上拍摄的视角并强调这种角度为照片增加了纵深感。llava-llama3描述最丰满补充了大量画面细节——高天花板、带白色窗帘的大窗户、柔和光线、男子脖子上的白色小珠子项链、发红的鼻子并把场景定性为宁静惬意的卧室氛围。llava:34b-v1.6走极简路线只说这是人物面部的极端特写表情中性平静背景是模糊的室内环境且明确指出图像分辨率较低难以分辨更精细的细节。这份对比本身就反映了不同 VLM 在提示词遵循、细节捕捉、语言风格上的显著差异小模型更可能忠实于Describe the scene的字面要求输出构图信息而参数量更大的 llava 系列倾向于补全叙事性细节。注意llava-llama3 对项链红鼻子等细节的描述属于模型生成内容在真实世界画面中是否存在无法仅凭文本确认——这正是评测输出需要结合原图人工核验的原因。文档背后的调用链一张图片如何变成一段文字img_54.md中的每一段描述都经过同一条管道prompts/generate.ts 的runTest函数把图片的Uint8Array字节传给imageDescriptionsources/agent/imageDescription.ts 构造系统提示词与用户消息调用ollamaInferencesources/modules/ollama.ts 将图片字节转 base64 后通过axios.post发送到本地 Ollama 的/api/chat接口响应中的message.content经trimIdent清理后返回写入.md文件。关键的系统提示词定义在 imageDescription.tssystem: You are a very advanced model and your task is to describe the image as precisely as possible. Transcribe any text you see.user: Describe the scene这套提示词同时要求模型尽可能精确描述并转录画面中的任何文字与记录生活、识别物体、翻译文字的产品定位见 README.md一致。generate.ts中被注释掉的Blurry测试prompts/generate.ts则展示了另一项能力用 sources/agent/imageBlurry.ts 让模型以 YES/NO 判断图片是否模糊或损坏可作为图像质量过滤的前置环节。图片编码与请求体构造在 ollama.ts 中Uint8Array图片通过 sources/utils/base64.ts 转成 base64 字符串请求体为{ stream: false, model: 模型名, messages: [转换后的消息] }其中图片被放入消息的images字段。所有请求都包裹在backoff重试机制中sources/utils/time.ts默认最小延迟 250ms、最大延迟 1000ms、最多重试 50 次失败时打印警告——这保证了在本地模型推理较慢或 Ollama 偶发超时的情况下批量评测仍能完成。支持哪些视觉模型KnownModel 类型与模型切换imageDescription的第二个参数model的类型KnownModel定义在 sources/modules/ollama.ts它约束了可用的模型名模型标识定位moondream:1.8b-v2-fp16默认视觉模型1.8B 参数适合在本地快速推理moondream:1.8b-v2-moondream2-text-model-f16用于模糊/质量判断见 imageBlurry.tsllava-llama3基于 Llama 3 的视觉语言模型llava:34b-v1.634B 参数的大规模视觉模型质量更高、速度更慢llama3/llama3-gradient/llama3:8b-instruct-fp16非视觉文本模型可用于纯文本问答调用时只需传入模型名即可切换例如imageDescription(img, llava:34b-v1.6)。这也解释了文档中四次调用的结构——前三次分别使用了默认模型、llava-llama3、llava:34b-v1.6第四次显式传回默认模型。关于第四次调用输出为空的排查思路####Description (moondream:1.8b-v2-fp16)####分节为空说明该次ollamaInference返回了空字符串。结合源码可以推断几种可能原因但仓库中无法确证具体是哪一种本地未拉取该模型README 明确要求先执行ollama pull moondream:1.8b-v2-fp16README.md若运行环境缺少模型Ollama 会返回错误。API 配置为空Ollama 地址从 sources/keys.ts 读取EXPO_PUBLIC_OLLAMA_API_URL环境变量若未配置则axios.post(, ...)请求必然失败。重试耗尽或推理超时backoff最多重试 50 次但每次延迟上限仅 1000ms大模型冷启动或并发推理可能反复触发重试最终返回。message.content为空ollamaInference只取response.message?.content若模型返回空内容如图片解析失败结果即为空串。注意以上均为从源码结构推出的可能性并非仓库记录的事实。若要在自己的环境复现应优先检查ollama pull状态与keys.ts的环境变量配置。如何复现这套评测实验img_54.md不是手工撰写的而是可完整复现的自动化产物。复现步骤如下安装依赖在仓库根目录执行npm install或yarn install见 README.md。配置本地 Ollama在 sources/keys.ts 中设置EXPO_PUBLIC_OLLAMA_API_URL为本地 Ollama 地址例如http://localhost:11434/api/chat如使用 Groq / OpenAI 的 Agent 问答能力还需配置对应的 API KeyEXPO_PUBLIC_GROQ_API_KEY、EXPO_PUBLIC_OPENAI_API_KEY。拉取模型执行ollama pull moondream:1.8b-v2-fp16并按需拉取llava-llama3、llava:34b-v1.6。运行评测用支持 TypeScript 的方式执行 prompts/generate.ts例如npx ts-node prompts/generate.ts脚本会自动遍历prompts下各 series 目录的所有.jpeg把四种描述结果写回对应的.md文件。由于该脚本会覆盖写入prompts/series_1/*.md复现时建议先备份原文件或复制目录后再运行避免原始评测结果丢失。从评测到 Agent描述文本的下一步去向img_54.md这类描述文本并非终点。在 OpenGlass 的应用层sources/agent/Agent.ts 的addPhoto方法会实时调用imageDescription生成描述并暂存在内存中当用户提问时answer方法把所有照片的描述拼接起来Agent.ts交给 sources/agent/imageDescription.ts 中的llamaFind经由 Groq 的llama3-70b-8192见 sources/modules/groq-llama3.ts做基于描述回答问题的推理。也就是说评测文档中每一段描述的稳定性与准确性直接决定了眼镜端问答体验的上限——这正是对多个 VLM 做系统性对比评测的价值所在。小结通过prompts/series_1/img_54.md我们可以完整观察到 OpenGlass 图像描述管道的一次真实运行generate.ts批量驱动 →imageDescription构造提示词 →ollamaInference编码图片并请求本地 Ollama → 描述文本落盘。文档同时展示了同一场景下三个视觉模型截然不同的输出风格以及默认模型一次失败的调用空输出。结合 sources/modules/ollama.ts、sources/agent/imageDescription.ts 等源码开发者可以快速理解模型切换机制、提示词设计与重试策略并据此在本地复现、扩展或改进这套多模型图像描述评测。赞分享人工智能AI 应用智能硬件本地部署可穿戴AI Agent【免费下载链接】OpenGlassTurn any glasses into AI-powered smart glasses项目地址https://gitcode.com/GitHub_Trending/op/OpenGlass点击查看免费下载相关推荐Zcash 2.0.5-2 版本详解Sprout→Sapling 迁移工具、turnstile 共识规则与 ARMv8 支持Zcash 2.0.5 2 版本详解Sprout→Sapling 迁移工具、turnstile 共识规则与 ARMv8 支持 Zcash 2.0.5 2 是继人工智能AI 应用智能硬件本地部署可穿戴AI AgentOpenGlass 视觉模型批量评测基于 moondream / llava 的多模态图片描述生成与输出对比OpenGlass 视觉模型批量评测基于 moondream / llava 的多模态图片描述生成与输出对比 OpenGlass 是一个把任意普通眼镜改造成人工智能AI 应用智能硬件本地部署可穿戴AI AgentOpenGlass 视觉模型描述对比实战以 img_10 为样本拆解 llava、moondream 等多模型输出差异OpenGlass 视觉模型描述对比实战以 img_10 为样本拆解 llava、moondream 等多模型输出差异 导读 OpenGlass 是一个把普通人工智能AI 应用智能硬件本地部署可穿戴AI Agent上一篇Polywise进阶技巧5个自定义工作流与自动化任务的高级配置方法下一篇【亲测免费】 推荐开源项目Altium Designer到KiCad的转换工具 - altium2kicad创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考