当前位置: 首页 > news >正文

图片进知识库:先让模型生成文字描述再检索

直接说做法:知识库里有大量图片(产品图、流程图、截图),想让用户能用文字问、检索到对的图——别指望直接拿图片向量去匹配文字问题,跨模态对齐没那么准。更稳的土办法是,入库前先让多模态模型给每张图生成一段文字描述(caption),把描述做 embedding 存进知识库,检索时文字对文字,召回又准又好排查。我在一个产品手册场景这么干,效果意外地好,今天讲清楚。

为什么不直接用图片向量

理论上有图文统一的向量模型,能把图片和文字映射到同一空间,照理可以直接拿用户问题去匹配图片。但我实测下来,这条路对中文问法、对内容密集的图(带文字的截图、复杂图表)经常翻车——用户问「显示登录失败的那张错误提示图」,直接跨模态检索捞回来一堆不相干的界面图。

换个思路就顺了:先把图变成文字。让多模态模型看图说话,生成一段描述,比如「一张移动端登录界面截图,红色弹窗提示账号或密码错误,底部有忘记密码链接」。把这段描述存进知识库,用户问的是文字,知识库里也是文字,同语体匹配,召回稳得多,而且哪条检索命中了,描述肉眼就能核对,排查方便。

落地三步

1. 批量给图片生成描述。

def caption_image(img_path): prompt = "用一两句话描述这张图的内容,包含图中可见的文字、关键元素和用途。" return vlm(prompt, image=img_path) # 调多模态模型看图生成描述 for img in images: desc = caption_image(img) store.add(text=desc, metadata={"img_url": img.url}) # 描述入库,图存元数据

2. 描述做 embedding,存进知识库。跟普通文档一样切片向量化,元数据里挂上图片的 URL。

3. 检索时返回图。用户问题文字检索描述,命中后从元数据取出 img_url,把图连同描述一起返回给模型或用户。

描述怎么生成才好检索

这步是质量关键,我踩过坑总结几条:

  • 让模型把图里的文字抠出来。截图、表格图里的文字往往就是用户要搜的关键词,描述里必须带上,不然检索匹配不到。

  • 加上用途/场景。光描述「一个红色弹窗」不够,写清「登录失败错误提示」,用户才搜得到。

  • 别让它瞎发挥。多模态模型有时会脑补图里没有的东西,我会在 prompt 里加一句「只描述确实看到的,看不清的别猜」,并且抽查一批人工核对。

检索方式

中文问法召回

可排查性

图片向量直接跨模态匹配

一般,密集图差

难,命中原因不透明

图生描述再文字检索

明显更好

好,描述可逐条核对

代价说清楚

不是没成本。每张图都要过一遍多模态模型生成描述,图多的话这步耗时耗钱,是个一次性的预处理工程。还有就是描述质量决定上限,模型描述得糙、漏了关键文字,那张图基本就搜不到了,得靠抽查补救。所以图特别多、又特别重要的,我会人工复核重点图的描述。

这套图文知识库我搭得不算重。智能体在一个零代码就能配 RAG 的平台上拖的,多模态模型直接挂上去给图生描述,描述和图一起进托管知识库,向量化检索平台包了。省了我自己搭多模态推理和向量库的活。但「描述 prompt 怎么写、哪些图要人工复核」这些还是得自己把关,平台给的是流水线,喂什么进去、怎么验收还得我管。

(多模态模型和 RAG 我都走讯飞星辰 MaaS,现成模型和托管知识库直接调,没自部署)

你们图片知识库是直接跨模态检索,还是也走图生描述?描述质量怎么保证的?评论区聊聊。

http://www.jsqmd.com/news/1092908/

相关文章:

  • StyleGAN 技术脉络:从风格空间到无混叠生成
  • 《科技代替了我工作》值得被认真放进中文歌单
  • Java 多线程:继承 Thread 与实现 Runnable 两种创建方式完整对比
  • 吾爱出品,必属精品,离线可用!
  • 自动定期备份服务器数据
  • python下载M3U8视频脚本
  • 【单片机毕业设计】基于 STM32 的超重声光报警电子秤设计与实现,基于 STM32 的阈值式重量监测报警系统设计(013701)
  • AI截图工具免费下载,基于DeepSeek的OCR截图软件支持Mac和Win
  • 三列布局三大方案对比总结
  • TI TPIC7710EVM评估模块:汽车EPB系统ASIC驱动与电机控制实战解析
  • Burp Suite实战:验证码场景下的自动化渗透测试与绕过技术
  • 专业iOS激活锁绕过工具applera1n:5分钟恢复iPhone 6s-X使用权限
  • 单板测试正常,整机运行异常:6 类系统排查清单
  • 关于我的第十次web作业
  • YOLO轻量化与部署优化- 第75篇:ONNX导出与优化:从PyTorch到ONNX部署
  • 传统潮流款库存一定会亏损,编程潮流款二手转售,改款二次销售收益模型,降低滞销亏损。
  • PilotGo-plugin-llmops API全解析:轻松集成与二次开发
  • ABB工业机器人编程基础(十三)功能程序(FUNC)
  • 合肥第三期《AI产品经理训练营》授课心得
  • 考四级的资料|过四级必备资料书|英语六级备考资料
  • MySQL数据库期末复习②
  • AI渐进编程之七:让 AI 先读项目地图再动手
  • 第八、九次作业
  • 2026年现在什么证的含金量高?普通人跨行与职场进阶考证指南
  • 英语四级考资料|四级考试英语资料|英语四级考试资料
  • 1234321
  • SQLModel零基础教程(五)- 工程化封装 迁移工具
  • 2026学生降AI率工具盘点: 学术打磨+逻辑优化哪家强?
  • 第八次作业和第九次作业
  • 《妈妈,我失业了》值得被认真放进中文歌单