项目介绍:QMedia
QMedia 是一个专为内容创作者设计的开源多媒体 AI 内容搜索引擎。它支持多种信息提取方法,包括文本、图像和短视频内容。通过整合非结构化的文本、图像和短视频信息,QMedia 构建了一个多模态 RAG 内容问答系统,以开源的方式分享和交流 AI 内容创作的理念。
主要功能
内容卡片
内容会以卡片形式展示,包括图片、文本和视频内容。这一展示方式受到 XHS 网页版本的启发,使用 Typescript、Next.js、TailwindCSS 和 Shadcn/UI 技术栈实现。主要功能模块包括:
- RAG 搜索/问答服务
- 图片/文本/视频模型服务 这些模块可以根据用户资源独立部署,也可嵌入到其他系统中进行内容提取。
多模态内容 RAG
该功能支持图片、文本和短视频资料的搜索。根据用户查询,从内容中提取有用信息并生成高质量回答,展示内容来源,并通过内容卡片分解图片、文本和短视频信息。 此外,支持谷歌内容搜索。
纯本地多模态模型
支持在本地部署各种类型的模型,独立于 RAG 应用层,从而易于替换不同的模型。提供本地模型生命周期管理,支持手动或自动发布以减少服务器负载。
- 语言模型:支持本地 Ollama 模型切换,如 llama3:8b-instruct 和 llama3:70b-instruct。
- 特征嵌入模型:包括 CLIP 编码器 (图像嵌入) 和 BGE 编码器 (文本嵌入)。
- 图像模型:包括文本 OCR 识别(QAnything)。
- 视频模型:支持视频转录及基于 LLM 的短视频内容总结。
安装说明
QMedia 服务根据资源可用性选择本地或云端模型服务部署。具体安装步骤包括以下服务:
mm_server
:多模态模型服务,涉及模型的部署和 API 调用。mmrag_server
:内容搜索和问答服务,支持内容卡片的展示与查询、多模态数据 RAG 检索服务。qmedia_web
:网页服务,使用 TypeScript、Next.js、Tailwind CSS 和 shadcn/ui 构建。
使用方式
组合使用
可以将 mm_server
、qmedia_web
和 mmrag_server
组合使用,用于网页内容展示、内容 RAG 搜索和问答、模型服务等。
启动服务后,mmrag_server
会读取伪数据,通过 mm_server
提取和组织信息,存储在数据库中,然后进行检索和 Q&A。
独立模型服务
可单独启动 mm_server
以提取图像/文本/视频信息,提供独立的图像编码、文本编码、视频转录提取以及图像 OCR 服务。
未来计划
- 推出图像/文本/短视频内容分析及流行内容分解功能
- 支持相似图片/文本/视频的搜索
- 推出卡片图像/文本内容生成工具
- 支持短视频内容编辑功能
许可证
QMedia 基于 MIT 许可证发布。
鸣谢
感谢 QAnything 提供了强大的 OCR 模型,感谢 llava-llama3 提供了先进的视觉理解模型。