OpenClaw家庭相册:Qwen3.5-9B智能分类童年照片

张开发
2026/4/12 4:21:56 15 分钟阅读

分享文章

OpenClaw家庭相册:Qwen3.5-9B智能分类童年照片
OpenClaw家庭相册Qwen3.5-9B智能分类童年照片1. 为什么需要智能相册管理作为一个有两个孩子的父亲我的手机和NAS里存了超过5万张家庭照片。每次想找特定场景的照片——比如大宝三岁生日在迪士尼或者小宝第一次走路——都要花半小时翻找。更头疼的是照片命名杂乱无章有些连拍摄时间都不准确。直到上个月我在调试OpenClaw对接Qwen3.5-9B模型时突然想到能不能让AI帮我自动整理这些照片经过三周的折腾终于实现了这个懒人相册系统。现在只要把照片丢进指定文件夹第二天就能在家庭群里收到按人物、场景、时间分类的相册链接甚至还能生成孩子的成长时间轴。2. 系统架构与隐私设计2.1 本地化部署方案整个系统完全运行在我的群晖NAS上照片存储DS1821的8盘位NAS所有原始照片存储在加密卷模型服务用Docker部署Qwen3.5-9B-AWQ-4bit镜像占用约8GB显存自动化引擎OpenClaw直接运行在NAS的Linux系统中关键隐私设计所有图片处理都在内网完成不上传至任何公有云人脸识别数据只保存特征向量不存储原始生物特征生成的时间轴数据加密后同步到家庭群其他人只能查看不能下载2.2 核心工作流程graph TD A[新照片存入NAS监控目录] -- B[OpenClaw触发扫描] B -- C[调用Qwen3.5进行多模态分析] C -- D{是否识别成功?} D --|是| E[生成JSON元数据] D --|否| F[人工标记后重新分析] E -- G[按规则分类存储] G -- H[生成时间轴HTML] H -- I[同步到家庭微信群]3. 具体实现步骤3.1 环境准备首先在NAS上创建专用目录结构mkdir -p /photo_system/{raw,processed,metadata} chmod 750 /photo_system然后安装OpenClaw的Linux版本curl -fsSL https://openclaw.ai/install.sh | bash openclaw onboard --model-provider local --model-url http://localhost:5000/v13.2 Qwen3.5模型配置修改~/.openclaw/openclaw.json增加多模态支持{ models: { providers: { local-qwen: { baseUrl: http://localhost:5000/v1, apiKey: nas-internal-key, api: openai-completions, capabilities: [multimodal], models: [ { id: qwen3.5-9b-multi, name: Local Qwen Multimodal, maxTokens: 4096, vision: true } ] } } } }3.3 编写照片处理Skill创建photo_skill.py实现核心逻辑from openclaw.skills import BaseSkill from PIL import Image import exifread class PhotoSkill(BaseSkill): def process_photo(self, filepath): # 读取EXIF信息 with open(filepath, rb) as f: tags exifread.process_file(f) # 调用Qwen3.5分析图片内容 prompt 分析这张照片 1. 识别画面中的主要人物用家人昵称 2. 判断场景类型家庭聚会/旅行/日常生活等 3. 提取关键物品如蛋糕、玩具等 4. 推测照片氛围欢乐/温馨/搞笑等 response self.claw.models.generate( modelqwen3.5-9b-multi, messages[{ role: user, content: [ {type: text, text: prompt}, {type: image_url, image_url: ffile://{filepath}} ] }] ) return { exif: str(tags), analysis: response.choices[0].message.content }4. 处理模糊照片的实践技巧老照片常遇到的两个问题画质模糊导致识别率低缺少EXIF时间信息我的解决方案是语义补充提示词技术。当识别置信度低于阈值时自动追加提示def enhance_analysis(self, filepath, initial_analysis): if initial_analysis.get(confidence, 1) 0.7: enhanced_prompt f 这是一张可能模糊的老照片已知信息 {initial_analysis} 请结合以下线索进一步分析 1. 根据人物衣着推测年代 2. 根据背景物品推测地点 3. 根据人物表情推测事件性质 return self.claw.models.generate( modelqwen3.5-9b-multi, messages[{ role: user, content: [ {type: text, text: enhanced_prompt}, {type: image_url, image_url: ffile://{filepath}} ] }] )实际案例一张2009年模糊的生日照片初始识别只判断出有人物和蛋糕追加提示后正确识别出爷爷抱着大宝在蓝色墙纸的客厅过2岁生日。5. 成果展示与使用建议5.1 生成的时间轴示例div classtimeline-event>

更多文章