给几百 G 的本地截图做一个能搜内容的引擎,我踩过的坑

9 月 11 日
 MaskerPRC

最近做了个小工具:把我攒了几年、按字节算快 1T 的电脑截图(微信聊天截图、网页截图、报错截图、PPT 截图……)做成一个能直接搜内容的引擎。比如搜「上次那个 nginx 502 的报错」,直接把当时那张截图翻出来。

功能听起来不新鲜,但自己动手做一遍,坑比想象的多。这里把踩过的坑记录一下,给同样有这个需求的朋友参考。

坑一:OCR 不是「接个库」那么简单

一开始想当然:截图 → OCR → 存文本 → 搜,完事。实际:

坑二:索引体积失控

几个月的截图,全量向量化之后索引文件比截图本体还大。两件事必须做:

坑三:查询理解是最容易被忽略的一环

用户搜「那个 502 」,你拿什么去向量库里匹配?查询改写这层一定要做:

效果

现在 300+ 天的截图,一次搜索 1 秒内出结果,准确率主观评价八成以上。最大的收益是「再也不用翻聊天记录找那张图了」。

最后

这个项目的启发是:RAG 这套东西落到个人小工具上,工程量最大的不是向量检索本身,而是数据清洗和查询理解——七成时间花在了这两块。

代码还在整理,如果大家有兴趣,后续开源出来。也欢迎交流你们做本地内容检索的思路。

2486 次点击
所在节点    程序员
22 条回复
MaskerPRC
9 月 22 日
stonesirsir
3 天前
@MaskerPRC 感谢分享

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1241437

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX