news 2026/8/22 14:29:16

为什么 QMedia 的多模态 RAG 问答更聪明?图文短视频内容检索与智能问答使用详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
为什么 QMedia 的多模态 RAG 问答更聪明?图文短视频内容检索与智能问答使用详解

为什么 QMedia 的多模态 RAG 问答更聪明?图文短视频内容检索与智能问答使用详解

【免费下载链接】QmediaAn open-source AI content search engine designed specifically for content creators. Supports extraction of text, images, and short videos. Allows full local deployment (web app, RAG server, LLM server). Supports multi-modal RAG content Q&A.项目地址: https://gitcode.com/gh_mirrors/qm/Qmedia

QMedia是一个专为内容创作者打造的开源 AI 内容搜索引擎,支持图文、短视频内容的信息提取与多模态 RAG 问答。它通过 OCR 识别图片文字、Whisper 转写视频语音、大模型生成视频摘要,把散落在图片与短视频里的信息变成可检索、可问答的向量知识库,还能全本地部署,让私有内容问答更智能、更安全。

为什么 QMedia 的多模态 RAG 问答更聪明?

传统 RAG 问答只能检索纯文本,而内容创作者的素材大多是图片、图文笔记和短视频——信息藏在图片文字里、藏在视频口播中,普通搜索引擎根本"看不见"。

QMedia 的做法是先把多模态内容"翻译"成结构化文本,再建立向量索引,让大模型基于这些上下文作答。它更聪明的三个关键点:

聪明点说明
🖼️ 图文双通道检索文本向量(BGE)+ 图像向量(CLIP)并行召回,搜内容也能搜画面
🎬 视频内容深度解析Faster Whisper 转写口播文案,再用 LLM 生成视频摘要
📇 答案可溯源问答结果以"内容卡片"展示来源,拆解每条图文/短视频的信息

下面按"内容解析 → 向量检索 → 本地上手"的顺序拆解它的实现逻辑。

内容理解先行:图文短视频的 4 条解析通道

QMedia 的核心思路是:问答质量取决于内容解析质量。启动服务时,mmrag_server会读取assets/medias中的图片/视频,调用mm_server的模型服务逐条解析,核心代码见 nodes.py。

它内置了 4 条 Reader 解析管道:

  • 图片基础信息ImageReader):读取图片元数据;
  • 图片 OCR 文字识别ImageOcrReader):调用本地 OCR 模型,把图片里的文字全部"读"出来,见 image_ocr.py;
  • 短视频转写与摘要AudioTranscriptionReader):先用 moviepy 从视频中提取音频,调mm_server/api/audio_transcription接口转写文案,再让 LLM 生成视频摘要,见 video.py;
  • 笔记文本信息NoteInfoReader):提取图文笔记的标题、正文等文本。

解析完成后,文档按句子切分(SentenceSplitter),构建为多模态向量索引MultiModalVectorStoreIndex,并持久化到本地db,下次启动无需重复解析。

💡 这套解析管道全部走本地模型 API,视频转写、OCR、编码互不干扰,模型服务单独部署在 mm_server/api/ 下,方便按需替换。

双通道向量检索:文本和图片一起找

检索环节是"聪明"的另一半。mm_retriver.py 中的 RAG 管道同时配置了两个召回参数:

  • similarity_top_k:文本向量召回条数(BGE 文本编码);
  • image_similarity_top_k:图像向量召回条数(CLIP 图像编码,将图片编码到与文本同空间)。

也就是说,你用"美食教程"这样的文字提问,系统既会匹配文本语义,也会通过 CLIP 匹配"看起来像美食"的图片内容,双路召回后按笔记 ID 去重,最终交给 LLM(如 llava-llama3 视觉模型)综合作答。

相关的模型能力都以 REST API 形式暴露,在mm_server的 API 文档页可以看到:

快速上手:3 步本地启动多模态 RAG 问答

QMedia 由三个独立服务组成,可按需组合部署:

服务职责端口
mm_server多模态模型服务(OCR、CLIP 编码、Whisper 转写、LLM)50110
mmrag_server内容卡片展示 + RAG 检索问答8001
qmedia_web网页前端(Next.js + TailwindCSS)

第一步:启动模型服务

cd mm_server source activate qllm python main.py

第二步:启动 RAG 问答服务

cd mmrag_server source activate qmedia python main.py

第三步:启动网页

cd qmedia_web pnpm dev

启动后mmrag_server会自动读取assets/mediasassets/mm_pseudo_data.json的示例数据,调用mm_server提取信息并写入db。打开网页输入问题(如 "How to Vlog"),即可获得答案和对应的内容卡片来源。

多模态问答相关的三个核心接口:/embedding-mm(构建检索管道)、/mm-rag-search(双通道召回内容卡片)、/mm-rag-query(LLM 合成答案),实现见 mm_rag_search.py:

换成自己的内容:3 步搭建私有内容搜索引擎

把示例数据换成你自己的图文/短视频,就能得到一个私有化多模态 RAG 问答库

  1. 把自有图片/视频放入assets/medias/
  2. 把对应的内容卡片数据写入assets/mm_pseudo_data.json(字段参考 json_data.py);
  3. 删除历史db文件后重启服务,模型会自动重新提取信息并入库。

配置项都在 mmrag_server/config.py.local 中,重点几个:

  • use_video_service:是否启用视频转写(默认关闭,开启后短视频也能被问答);
  • model_name/mm_model_name:LLM 与视觉模型名称;
  • clip_model_name/embedding_model_name:图像、文本编码模型。

常见问题速答

问:不想要网页,只想用 API 做问答?可以只部署mm_server+mmrag_server,直接调用/mm-rag-search/mm-rag-query接口,实现纯 Python 环境的多模态 RAG 检索问答。

问:视频解析为什么默认关闭?视频转写需要 Whisper 模型,CPU 上也能跑但耗时较长。配置use_video_service=True并确认mm_server已部署后即可开启。

问:模型资源不够怎么办?mm_server支持模型生命周期管理(keep_alive配置),空闲自动释放显存;8B 本地小模型即可体验完整流程,服务器充足时可换 70B 提升回答质量,详见 mm_server/README.zh-CN.md。

小结:QMedia 的"聪明"来自三层设计——多通道内容解析让图片文字和视频口播全部变成可检索文本,图文双向量召回让检索既懂语义又懂画面,内容卡片溯源让每个答案都有据可查。全链路可本地部署,是内容创作者搭建私有 AI 内容搜索引擎的完整方案。

【免费下载链接】QmediaAn open-source AI content search engine designed specifically for content creators. Supports extraction of text, images, and short videos. Allows full local deployment (web app, RAG server, LLM server). Supports multi-modal RAG content Q&A.项目地址: https://gitcode.com/gh_mirrors/qm/Qmedia

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 14:29:11

一行use解决:Hammox.Protect宏如何让Elixir测试模块自带契约检查

一行use解决:Hammox.Protect宏如何让Elixir测试模块自带契约检查 【免费下载链接】hammox 🏝 automated contract testing via type checking for Elixir functions and mocks 项目地址: https://gitcode.com/gh_mirrors/ha/hammox 还在Elixir测试…

作者头像 李华
网站建设 2026/8/22 14:23:17

PyMacroRecord:免费跨平台宏录制工具,重复操作一键回放

PyMacroRecord:免费跨平台宏录制工具,重复操作一键回放 【免费下载链接】PyMacroRecord Free and Open Source Macro Recorder with a modern GUI using Python 项目地址: https://gitcode.com/gh_mirrors/py/PyMacroRecord 每天点几十次同一个按…

作者头像 李华