{"skill":{"slug":"tobemsk-image-search","displayName":"本地图片语义搜索","summary":"本地图片语义搜索工具，基于 CLIP 模型实现中英文图片内容的语义理解检索，类似小米相册 AI 搜索功能。使用场景：(1) 用户想用自然语言搜索本地图片 (2) 用户需要搜索中文关键词相关的图片 (3) 用户提到\"搜图片\"、\"找图片\"、\"图片搜索\"、\"AI相册\"等关键词","description":"---\nname: image-search\ndescription: 本地图片语义搜索工具，基于 CLIP 模型实现中英文图片内容的语义理解检索，类似小米相册 AI 搜索功能。使用场景：(1) 用户想用自然语言搜索本地图片 (2) 用户需要搜索中文关键词相关的图片 (3) 用户提到\"搜图片\"、\"找图片\"、\"图片搜索\"、\"AI相册\"等关键词\n---\n\n# 本地图片语义搜索工具\n\n基于 CLIP 模型的全盘中英文图片语义搜索工具，支持中文关键词检索。\n\n## 项目结构\n\n```\nimage-search/\n├── SKILL.md              # 本说明文件\n├── requirements.txt      # Python 依赖\n└── scripts/\n    ├── scan.py           # 首次全量建库（约2小时）\n    ├── update.py         # 增量更新（只处理新增图片）\n    ├── search.py         # 搜索图片\n    └── config.py         # 配置文件\n```\n\n## 快速开始\n\n### 第一步：安装依赖\n\n```bash\npip install -r requirements.txt\n```\n\n**注意**：首次运行会**自动下载 CLIP 模型**（约 400MB），请确保网络畅通。模型会缓存到 `~/.cache/huggingface/`。\n\n### 第二步：首次建库（只需一次）\n\n```bash\npython scripts/scan.py\n```\n\n- 扫描 C:\\ D:\\ E:\\ F:\\ 四个盘符的所有图片\n- 提取图片特征并建立向量索引\n- **耗时约 2 小时**（取决于图片数量）\n- 完成后索引保存在 `image_db/` 目录\n\n### 第三步：搜索图片\n\n```bash\npython scripts/search.py 关键词\n```\n\n支持中英文关键词，例如：\n```bash\npython scripts/search.py 塔\npython scripts/search.py 猫\npython scripts/search.py sunset\npython scripts/search.py 建筑 红色\n```\n\n搜索结果保存到桌面 `搜索结果_关键词.txt`，包含图片路径和相似度分数。\n\n### 增量更新（后续使用）\n\n每次新增图片后，运行增量更新：\n\n```bash\npython scripts/update.py\n```\n\n- 自动扫描四个盘符\n- 找出新增图片（不在索引中的）\n- **只对新图片提取特征**，几分钟完成\n- 追加到现有索引\n\n## 工作原理\n\n1. **特征提取**：使用 `OFA-Sys/chinese-clip-vit-base-patch16` 模型将图片转换为 512 维向量\n2. **向量存储**：使用 FAISS 向量数据库存储和检索\n3. **语义搜索**：将搜索词转换为向量，在向量空间中找最相似的图片\n\n## 配置修改\n\n编辑 `scripts/config.py`：\n\n```python\nSCAN_ROOTS = [\"C:\\\\\", \"D:\\\\\", \"E:\\\\\", \"F:\\\\\"]  # 扫描的根目录\nEXCLUDE_DIRS = [\"$RECYCLE.BIN\", \"System Volume Information\", \".cache\"]  # 排除的目录\nIMAGE_EXTENSIONS = {\".jpg\", \".jpeg\", \".png\", \".gif\", \".bmp\", \".webp\"}  # 支持的图片格式\nMODEL_NAME = \"OFA-Sys/chinese-clip-vit-base-patch16\"  # CLIP 模型\nBATCH_SIZE = 16  # 批处理大小，内存不足可调小\n```\n\n## 硬件要求\n\n- **CPU**: i5-4590（已验证可用）\n- **内存**: 建议 8GB 以上\n- **显卡**: 可用 GPU 加速（如 GTX 750 Ti），不用也能跑\n- **硬盘**: 需要约 1GB 空间存储索引\n\n## 常见问题\n\n**Q: 内存不足怎么办？**\nA: 减小 `config.py` 中的 `BATCH_SIZE`（如改为 4 或 8）\n\n**Q: 模型下载失败？**\nA: 国内网络可能需要设置镜像源：\n```bash\nset HF_ENDPOINT=https://hf-mirror.com\n```\n\n**Q: 如何完全重建索引？**\nA: 删除 `image_db/` 目录，然后重新运行 `scan.py`","tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":417,"installsAllTime":15,"installsCurrent":0,"stars":1,"versions":1},"createdAt":1777918153188,"updatedAt":1778492846193},"latestVersion":{"version":"1.0.0","createdAt":1777918153188,"changelog":"- 首次发布：本地图片语义搜索工具，可通过中英文自然语言搜索本地图片\n- 基于 CLIP 模型，支持自然语言与中文关键词的图片检索\n- 一键全盘扫描、特征建库，支持增量更新，快速同步新增图片\n- 检索结果保存到桌面，便于查看图片路径和相似度\n- 简单配置，多系统兼容，支持低配电脑与GPU加速","license":"MIT-0"},"metadata":null,"owner":{"handle":"tobemsk","userId":"s17ebcp2n79svnc0hfz7dnh8s184pfe1","displayName":"tobemsk","image":"https://avatars.githubusercontent.com/u/230471728?v=4"},"moderation":null}