AI 语义搜图:用自然语言找照片
什么是 AI 语义搜图
普通的"搜照片"是按文件名、按日期、按相册名找。AI 语义搜图让你输入自然语言描述,比如:
- "海边日落"
- "我家猫"
- "证件照"
- "戴墨镜的人"
PlainApp 在手机上跑一个轻量的图像向量模型,为每张缩略图生成嵌入向量,然后和你的查询文本生成的向量做相似度匹配,按匹配度从高到低排序结果。
触发位置
Images 面板工具栏上有一个放大镜 + 星标图标,点一下弹出搜索框。输入描述、回车后,面板里的缩略图立刻按相似度重排。
三个注意事项
一、只有 GitHub 直装版有
F-Droid 版没有这个功能。原因是 PlainApp 的 AI 搜图依赖 Google 的 com.google.ai.edge.litert 库——F-Droid 的严格 FOSS 标准不接受这个非开源依赖。
Google Play 版有,但 Play 版本身被阉割了 SMS / App Manager / Notification Mirroring(商店策略)。功能完整度排序:GitHub > Play > F-Droid(AI 搜图项除外)。
二、完全本地
你的查询文本"海边日落"和手机上的照片都永远不会离开设备:
- 查询文本先在手机上通过向量模型转成嵌入向量
- 手机上的每张缩略图也都有预生成的向量(在媒体首次扫描时生成)
- 相似度计算在手机上完成,只有排序后的文件路径列表发给浏览器
- 图片内容本身只在你点进灯箱时才按需求发浏览器(和普通浏览一样)
所以就算手机连在公网、电脑也是公网,搜图数据也不会泄露。
三、首次慢、之后快
第一次点进 Images 面板时 PlainApp 会扫描所有照片并生成向量——几千张照片可能要花 30 秒到几分钟(取决于手机性能)。之后缓存存在本地数据库里,下次秒出结果。
能搜多准
实际测试:
- 场景明确的照片(证件照、海边日落、食物)匹配度不错,Top 10 基本对
- 抽象概念("开心的回忆""蓝色调")匹配度下降,前几条能对上但后面开始飘
- 人脸搜索还行但不是主打——PlainApp 没做专门的人脸聚类
如果你对准确性有硬性要求,还是建议先给照片手动打标签(见 媒体标签与分组)。
和 Google Photos 的语义搜图对比
Google Photos 把照片全部上传云端后跑模型——能搜到,但数据主权没了。PlainApp 的做法是把模型搬到手机里跑,牺牲一点精度(手机端模型比云端大模型小很多)换来 100% 本地。