AI个人学习
和实操指南
讯飞绘镜

Qwen2.5-VL:支持图像视频文档解析的开源多模态大模型

综合介绍

Qwen2.5-VL 是阿里巴巴云(Alibaba Cloud)Qwen 团队开发的开源多模态大模型。它能同时处理文本、图像、视频和文档,是 Qwen2-VL 的升级版,基于 Qwen2.5 语言模型构建。官方称,它在文档解析、视频理解和智能代理功能上大幅提升,支持 3B、7B、32B 和 72B 四种参数规模,满足从个人电脑到服务器的多种需求。项目托管在 GitHub,采用 Apache 2.0 许可证,免费开放源码。Qwen2.5-VL 在多个测试中表现优异,部分指标超过闭源模型,适合开发者打造智能工具,如文档提取器、视频分析器或设备操作助手。

Qwen2.5-VL:支持图像视频文档解析的开源多模态大模型-1


 

功能列表

  • 识别图像中的物体、文字和布局,支持自然场景和多语言。
  • 理解超长视频(超过一小时),定位秒级事件片段。
  • 解析复杂文档,提取手写文字、表格、图表和化学公式。
  • 通过视觉和文字指令控制电脑或手机,执行智能代理任务。
  • 输出结构化数据,如 JSON 格式的坐标或属性信息。
  • 支持动态分辨率和帧率调整,优化视频处理效率。

 

使用帮助

安装流程

要在本地运行 Qwen2.5-VL,需准备软件环境。以下是详细步骤:

  1. 检查基础环境
    需要 Python 3.8+ 和 Git。终端输入以下命令检查:
python --version
git --version

未安装可从 Python 官网 和 Git 官网 下载。

  1. 下载代码
    在终端运行以下命令克隆 GitHub 仓库:
git clone https://github.com/QwenLM/Qwen2.5-VL.git
cd Qwen2.5-VL
  1. 安装依赖
    项目需要特定 Python 库,运行以下命令安装:
pip install git+https://github.com/huggingface/transformers@f3f6c86582611976e72be054675e2bf0abb5f775
pip install accelerate
pip install qwen-vl-utils[decord]
pip install 'vllm>0.7.2'

如果有 GPU,安装支持 CUDA 的 PyTorch:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

注:decord 用于加速视频加载,非 Linux 用户可从 decord GitHub 源码安装。

  1. 启动模型
    下载并运行模型,例如 7B 版本:
vllm serve Qwen/Qwen2.5-VL-7B-Instruct --port 8000 --host 0.0.0.0 --dtype bfloat16

模型会自动从 Hugging Face 下载并启动本地服务。

如何使用主要功能

安装后,可通过代码或 Web 界面操作 Qwen2.5-VL。

图像识别

想让模型描述图片?新建 image_test.py,输入以下代码:

from transformers import Qwen2VLForConditionalGeneration, AutoProcessor
from qwen_vl_utils import process_vision_info
from PIL import Image
model = Qwen2VLForConditionalGeneration.from_pretrained("Qwen/Qwen2.5-VL-7B-Instruct", torch_dtype="auto", device_map="auto")
processor = AutoProcessor.from_pretrained("Qwen/Qwen2.5-VL-7B-Instruct")
messages = [{"role": "user", "content": [{"type": "image", "image": "图片路径或URL"}, {"type": "text", "text": "描述这张图片"}]}]
text = processor.apply_chat_template(messages, tokenize=False)
inputs = processor(text=[text], images=[Image.open("图片路径或URL")], padding=True, return_tensors="pt").to("cuda")
generated_ids = model.generate(**inputs, max_new_tokens=128)
output = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(output)

运行后,模型会输出描述,例如:“图片里有一只猫坐在窗台上。”

视频理解

分析视频需准备本地文件(如 video.mp4)。用以下代码:

messages = [{"role": "user", "content": [{"type": "video", "video": "video.mp4"}, {"type": "text", "text": "总结视频内容"}]}]
text = processor.apply_chat_template(messages, tokenize=False)
inputs = processor(text=[text], videos=[processor.process_video("video.mp4")], padding=True, return_tensors="pt").to("cuda")
generated_ids = model.generate(**inputs, max_new_tokens=128)
output = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(output)

输出可能是:“视频展示了一场烹饪比赛,选手制作了披萨。”

文档解析

上传 PDF 或图片,用类似图像识别的代码,改提示为“提取表格数据”,模型会返回结构化结果,如:

[{"列1": "值1", "列2": "值2"}]

智能代理

想控制设备?用 cookbooks/computer_use.ipynb 示例。运行后,输入“打开记事本并输入‘你好’”,模型会模拟操作并返回结果。

Web 界面使用

运行 web_demo_mm.py 启动 Web 界面:

python web_demo_mm.py

浏览器访问 http://127.0.0.1:7860,上传文件或输入指令,模型会直接处理。

优化性能

  • Flash Attention 2:加速推理,安装后用:
    pip install -U flash-attn --no-build-isolation
    python web_demo_mm.py --flash-attn2
    
  • 分辨率调整:设置 min_pixels 和 max_pixels 控制图像大小,如 256-1280 范围,平衡速度和内存。

 

应用场景

  1. 学术研究
    学生上传论文图片,模型提取公式和数据,生成分析报告。
  2. 视频剪辑
    创作者输入长视频,模型提取关键片段,生成摘要。
  3. 企业文档管理
    员工上传合同扫描件,模型提取条款,输出表格。
  4. 智能助手
    用户用图片和语音指令,让模型查询手机上的航班信息。

 

QA

  1. 支持哪些语言?
    支持中文、英文及多种语言(如法语、德语),能识别多语言文字和手写内容。
  2. 硬件要求是什么?
    3B 模型需 8GB 显存,7B 需 16GB,32B 和 72B 建议 24GB+ 显存的专业设备。
  3. 如何处理超长视频?
    模型用动态帧率采样,能理解数小时视频,精确定位秒级事件。
未经允许不得转载:首席AI分享圈 » Qwen2.5-VL:支持图像视频文档解析的开源多模态大模型
zh_CN简体中文