博客
AI
用 RAG 给收藏图鉴做检索
图鉴上千张图,靠文件名找不到东西。把「来源、角色、备注」做成结构化向量检索,问题是能用了,但大部分时间我还是在翻文件夹。
4 周前 1 分钟读完 414 字
收藏图鉴的搜索有三个层次,难度递增:
- 按文件名 / 标签精确匹配——够用,但没有语义。
- 按「大概是什么」检索——「有光环的全身二创」,文件名里不会有这种词。
- 按相似图找图——本质是向量召回,不是文本问题。
我做的是第 2 层,用最小的方案试。
最小可用管线
- 每张图一条记录:来源、作者、授权、角色、场景标签、一句人工备注。
- 文本拼成一段放进向量库,人工备注权重最高。
- 查询走同一模型,取 top 5 并显示相似度,低于阈值就显示「没找到」。
const doc = [entry.character, entry.scene, entry.note, entry.source].filter(Boolean).join(' · ');
const vec = await embed(doc);
await index.upsert({ id: entry.id, vector: vec, meta: entry });
三个现实结论
人工备注决定成败。 只靠官方标签,检索结果永远是同一批热门图;我加的那句「紫瞳、白天台、逆光」才是真正区分度所在。
召回不等于有用。 top 5 里通常 2 张相关、3 张勉强。所以界面上把相似度和原始备注一起显示,让判断留给人。
维护成本比想象中高。 每加一张图都要写一句备注,一天加十张就开始偷懒。最后的妥协是:批量导入的图只填来源,不填备注,接受它们检索不到。
我还留在文件夹里的原因
整理图鉴这件事,检索只是入口。真正花时间的是「这张图我为什么留下来」——一句话、一个场景、一段当时的想法。这部分目前任何模型都替不了,所以 RAG 只是给我加了个搜索框,不是替代品。
相关文章
文章目录