YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
VideoAgent - 视频理解分析系统
构建VideoAgent,面向视频理解与检索,支持长视频智能分析与问答。
✨ 核心功能
- 📹 视频智能索引:自动分段、特征提取、多模态信息融合(ASR + VLM)
- 🔍 向量检索:高效的相似度检索和结果融合
- 💬 自然语言查询:用自然语言提问,获取基于视频内容的生成式回答
- 🌐 双界面支持:提供 Web UI (Gradio) 和 Python SDK 两种使用方式
🧩 核心模块
| 模块 | 功能描述 |
|---|---|
| ASR 语音识别 | 提取视频中的语音信息,转换为文本 |
| Caption 视觉描述 | 基于 VLM 生成视频片段的文字描述 |
| Embedding 多模态嵌入 | 实现视频与文本的统一向量化表示 |
| Vector DB 数据库 | 构建向量索引,支持高效相似度检索 |
🤖 模型配置
| 模型类型 | 模型名称 | 说明 | 最大序列长度 |
|---|---|---|---|
| ASR | SenseVoice Small | 多语言语音理解模型 | - |
| VLM | Qwen3-VL-2B-Instruct | 多模态视觉语言模型(兼容 OpenAI API) | 4096 |
| LLM | Qwen3-4B-Instruct-2507 | 大语言模型(兼容 OpenAI API) | 4096 |
| Embedding | Qwen3-VL-Embedding-2B | 多模态嵌入模型 | 2048 |
💡 提示: LLM 和 VLM 模型可使用云端 OpenAI API,无需本地部署。
🚀 快速开始
1️⃣ 安装依赖
# 安装项目依赖
pip install -r requirements.txt
# 配置环境变量
cp .env.example .env
# 编辑 .env 文件,配置模型路径和 API 信息
2️⃣ 启动服务
# 启动模型服务(根据需求选择)
python VideoAgent/_server/embedding_server.py # Embedding 服务 - 端口 8010
python VideoAgent/_server/asr_server.py # ASR 服务 - 端口 8011
python VideoAgent/_server/vlm_server.py # VLM 服务 - 端口 8012 (云端模型不用启动)
python VideoAgent/_server/llm_server.py # LLM 服务 - 端口 8013 (云端模型不用启动)
3️⃣ 使用方式
方式一:Web UI(推荐)
python webui.py
方式二:Python SDK
from VideoAgent import VideoRAG, QueryParam
# 初始化 RAG 系统
rag = VideoRAG(working_dir="./working_dir")
# 索引视频文件
rag.insert_video(video_path_list=["video1.mp4", "video2.mp4"])
# 查询视频内容
result = rag.query(query="视频中说了什么?", param=QueryParam())
print(result)
🔄 工作流程
视频索引工作流
查询工作流
📁 项目结构
VideoAgent_api/
├── VideoAgent/ # 核心包
│ ├── _llm/ # 模型定义层
│ ├── _server/ # 服务层 (FastAPI)
│ ├── _storage/ # 存储层
│ ├── _videoutil/ # 视频处理工具
│ └── vidrag_pipeline.py # RAG 核心管道
├── working_dir/ # 运行时数据目录
├── webui.py # Gradio 前端入口
├── videorag_longervideos.py # 测试脚本
└── README.md # 项目文档
📝 参考项目
香港大学数据科学实验室(HKUDS)开源的一款超长视频跨模态检索增强生成框架:VideoRAG
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

