运行时依赖
安装命令
点击复制技能文档
本地图片语义搜索工具 基于 CLIP 模型的全盘中英文图片语义搜索工具,支持中文关键词检索。
项目结构 image-search/ ├── SKILL.md # 本说明文件 ├── requirements.txt # Python 依赖 └── scripts/ ├── scan.py # 首次全量建库(约2小时) ├── update.py # 增量更新(只处理新增图片) ├── search.py # 搜索图片 └── config.py # 配置文件
快速开始 第一步:安装依赖 pip install -r requirements.txt 注意:首次运行会自动下载 CLIP 模型(约 400MB),请确保网络畅通。模型会缓存到 ~/.cache/huggingface/。
第二步:首次建库(只需一次) python scripts/scan.py 扫描 C:\ D:\ E:\ F:\ 四个盘符的所有图片 提取图片特征并建立向量索引 耗时约 2 小时(取决于图片数量) 完成后索引保存在 image_db/ 目录
第三步:搜索图片 python scripts/search.py 关键词 支持中英文关键词,例如: python scripts/search.py 塔 python scripts/search.py 猫 python scripts/search.py sunset python scripts/search.py 建筑 红色 搜索结果保存到桌面 搜索结果_关键词.txt,包含图片路径和相似度分数。
增量更新(后续使用) 每次新增图片后,运行增量更新: python scripts/update.py 自动扫描四个盘符 找出新增图片(不在索引中的) 只对新图片提取特征,几分钟完成 追加到现有索引
工作原理 特征提取:使用 OFA-Sys/chinese-clip-vit-base-patch16 模型将图片转换为 512 维向量 向量存储:使用 FAISS 向量数据库存储和检索 语义搜索:将搜索词转换为向量,在向量空间中找最相似的图片
配置修改 编辑 scripts/config.py: SCAN_ROOTS = ["C:\\", "D:\\", "E:\\", "F:\\"] # 扫描的根目录 EXCLUDE_DIRS = ["$RECYCLE.BIN", "System Volume Information", ".cache"] # 排除的目录 IMAGE_EXTENSIONS = {".jpg", ".jpeg", ".png", ".gif", ".bmp", ".webp"} # 支持的图片格式 MODEL_NAME = "OFA-Sys/chinese-clip-vit-base-patch16" # CLIP 模型 BATCH_SIZE = 16 # 批处理大小,内存不足可调小
硬件要求 CPU: i5-4590(已验证可用) 内存: 建议 8GB 以上 显卡: 可用 GPU 加速(如 GTX 750 Ti),不用也能跑 硬盘: 需要约 1GB 空间存储索引
常见问题 Q: 内存不足怎么办? A: 减小 config.py 中的 BATCH_SIZE(如改为 4 或 8) Q: 模型下载失败? A: 国内网络可能需要设置镜像源: set HF_ENDPOINT=https://hf-mirror.com Q: 如何完全重建索引? A: 删除 image_db/ 目录,然后重新运行 scan.py