Skip to content

Latest commit

 

History

History
324 lines (212 loc) · 10.4 KB

README.zh-CN.md

File metadata and controls

324 lines (212 loc) · 10.4 KB
alt text

QMedia

专为内容创作者设计的AI内容搜索引擎

主要特点:

  • 图文/短视频素材搜索.
  • 高效分析图文/短视频内容, 整合零散信息.
  • 提供内容来源及图文短视频信息拆解, 通过内容卡片的方式呈现信息.
  • 基于图文/短视频内容, 根据用户兴趣需求生成定制化搜索结果.
  • 本地化部署, 可针对私有数据离线内容搜索问答.
目录树

👋🏻 介绍

QMedia 是一款开源的多媒体 AI 内容搜索引擎, 针对图文/短视频内容提供丰富的信息提取方式, 整合非结构化的图文/短视频信息, 构建多模态 RAG 内容问答. 希望以开源的方式分享交流 AI 内容创作 QMedia 目前正在积极开发中,有任何需求或者问题,欢迎提交 issues

分享 QMedia 给你的好友

碰撞内容创作新思路

加入我们的 Discord 社区!
alt text 加入我们的 wechat 群聊 !

💫 特性一览

  • 内容卡片

    • 通过卡片的形式展示图文/视频内容
    • web 服务 借鉴小红书 web 版,基于 Typescript nextjs, tailwindcss, shadcn/ui 技术栈实现
    • rag搜索/问答服务, 图文/视频模型服务基于 python, LlamaIndex 应用程序的框架实现
    • web 服务, rag搜索/问答服务, 图文/视频模型服务可分离部署单独使用, 方便根据用户资源情况灵活部署, 嵌入其他系统用于图文/视频内容提取.
    alt text
  • 多模态内容 RAG

    • 图文/短视频素材搜索.
    • 根据用户问题从图文/短视频内容提取有用信息, 生成高质量回答.
    • 通过内容卡片的方式呈现内容来源, 及图文短视频信息拆解.
      • 检索问答依赖对图文/短视频内容拆解, 包括图片风格,文案排版, 短视频文案转录, 视频总结等
    • 支持 google 内容搜索
    alt text
  • 100% Pure Local multimodal models

    • 多种类型模型本地部署
    • 与 rag 应用层分离, 便于替换不同模型
    • 本地模型生命周期管理, 可配置手动或自动释放, 减少服务器压力

    语言模型:

    特征编码模型:

    • 图片特征编码: CLIP Encoder 图片转为文本特征编码.
    • 文本编码: BGE Encoder 多语言嵌入式模型, 文本转为特征编码, 本地模型对齐 gpt Encoder.

    图片类模型:

    • 图片文案 OCR 识别: Qanything 本地知识库问答系统 OCR
    • 视觉理解大模型:

      • llava-llama3: ollama 本地部署 GPT-4V Level 视觉理解模型

    视频类模型:

    • 视频文案转录:
      • Faster Whisper: 快捷提取视频文案内容, 可本地 cpu 运行
    • 基于 LLM 短视频内容总结
    • 视频精彩片段识别
    • 视频风格类型识别
    • 视频分镜内容拆解

后续计划

  • 图文短视频内容分析, 爆款内容拆解
  • 同款图文/视频搜索
  • 卡片图文内容生成
  • 短视频内容剪辑


🤖 QMedia 安装说明

文件结构介绍

QMedia 包含三组服务: 可根据资源情况选择同步部署本地, 或模型服务部署云端.

  • 多模态模型服务 mm_server:

    • 多模态模型部署及调用 API

    • Ollama LLM 模型

    • 图片类模型

    • 视频类模型

    • 特征嵌入模型


  • AI 内容搜索问答服务 mmrag_server:

    • 内容卡片展示查询

    • 图文/短视频内容提取, 编码, 存储服务

    • 多模态数据 rag 检索服务

    • 内容问答服务


  • web 服务 qmedia_web: 语言: Typescript 框架: Next.js 样式: tailwindcss 组件: shadcn/ui


QMedia 使用说明

组合使用

mm_server + qmedia_web + mmrag_server web 网页内容展示, 内容 rag 搜索问答, 调用模型服务

  1. 服务启动流程:
# mm_server 服务启动
cd mm_server
source activate qllm
python main.py

# mmrag_server 服务启动
cd mmrag_server
source activate qmedia
python main.py

# qmedia_web 服务启动
cd qmedia_web
pnpm dev
  1. 可通过网页使用检索功能 mmrag_server 启动阶段会读取 assets/mediasassets/mm_pseudo_data.json 中的伪数据, 并且调用mm_server 提取图文/短视频的信息结构化为node信息, 存储在 db中, 检索问答会根据db中的数据进行.

自定义数据

# assets 文件结构
assets
├── mm_pseudo_data.json # 内容卡片数据
└── medias # 图片/视频文件

替换assets中的内容, 并且删除历史存储的db文件 assets/medias 为图片/视频文件, 可替换成自己图片/视频文件 assets/mm_pseudo_data.json 为内容卡片数据, 可替换成自己内容卡片数据, 运行服务后模型会自动提取信息, 存储在db


独立模型服务

可单独使用 mm_server 本地图文/视频信息提取服务 当做独立的图片编码, 文字编码, 视频文案提取, 图片 OCR 服务, 通过 API 形式在任意场景使用

# 单独 mm_server 服务启动
cd mm_server
python main.py

# uvicorn main:app --reload --host localhost --port 50110

API 内容:

alt text


纯 python rag 服务/模型服务

可配合 mm_server + qmedia_web, 在纯 python 环境下进行内容提取,rag 检索等 api 使用.

# 单独 mm_server 服务启动
cd mmrag_server
python main.py

# uvicorn main:app --reload --host localhost --port 50110

alt text

API 内容:


Star History

Star History Chart

License

QMedia is licensed under MIT License

Acknowledgments

Thanks to QAnything for strong OCR models.

Thanks to llava-llama3 for strong llm vision models.