AI个人学习
和实操指南
豆包Marscode1

Ovis:视觉与文本对齐模型,精准反推图像提示词

综合介绍

Ovis(Open VISion)是由阿里巴巴国际数字商业集团的 AIDC-AI 团队开发的一款开源多模态大语言模型(MLLM),托管于 GitHub。该模型采用创新的结构嵌入对齐技术,将视觉和文本数据高效融合,支持图像、文本、视频等多模态输入,并生成对应的输出内容。截至 2025 年 3 月,Ovis 已推出 Ovis2 系列(1B 至 34B 参数规模),提供卓越的小模型性能、增强的推理能力以及对高分辨率图像和视频的处理能力。项目面向开发者与研究人员,提供详细文档和代码,强调开源协作,已在社区中获得广泛关注。

Ovis:视觉与文本对齐模型,精准反推图像提示词-1


 

功能列表

  • 多模态输入支持:处理图像、文本、视频等多种输入类型。
  • 视觉文本对齐:生成与图像或视频内容精准匹配的文本描述。
  • 高分辨率图像处理:优化支持高分辨率图像,保留细节。
  • 视频与多图分析:支持视频帧序列和多张图像的连续处理。
  • 增强推理能力:通过指令调优和 DPO 训练提升逻辑推理水平。
  • 多语言 OCR 支持:识别并处理多语言图像文本。
  • 多种模型选择:提供 1B 至 34B 参数的模型,适配不同硬件。
  • 量化版本支持:如 GPTQ-Int4 模型,降低运行门槛。
  • Gradio 界面集成:提供直观的网页交互界面。

 

使用帮助

安装流程

Ovis 的安装依赖特定的 Python 环境和库,以下是详细步骤:

  1. 环境准备
    • 确保安装 Git 和 Anaconda。
    • 克隆 Ovis 仓库:
      git clone git@github.com:AIDC-AI/Ovis.git
      
    • 创建并激活虚拟环境:
      conda create -n ovis python=3.10 -y
      conda activate ovis
      
  2. 依赖安装
    • 进入项目目录:
      cd Ovis
      
    • 安装依赖(基于 requirements.txt):
      pip install -r requirements.txt
      
    • 安装 Ovis 包:
      pip install -e .
      
    • (可选)安装加速库(如 Flash Attention):
      pip install flash-attn==2.7.0.post2 --no-build-isolation
      
  3. 环境验证
    • 检查 PyTorch 版本(推荐 2.4.0):
      python -c "import torch; print(torch.__version__)"
      

如何使用 Ovis

Ovis 支持命令行推理和 Gradio 界面操作,以下是详细指南:

命令行推理

  1. 准备模型和输入
    • 从 Hugging Face 下载模型(如 Ovis2-8B):
      git clone https://huggingface.co/AIDC-AI/Ovis2-8B
      
    • 准备输入文件,例如图片 example.jpg 和提示 “描述这张图片”。
  2. 运行推理
    • 创建脚本 run_ovis.py
      import torch
      from PIL import Image
      from transformers import AutoModelForCausalLM
      # 加载模型
      model = AutoModelForCausalLM.from_pretrained(
      "AIDC-AI/Ovis2-8B",
      torch_dtype=torch.bfloat16,
      multimodal_max_length=32768,
      trust_remote_code=True
      ).cuda()
      # 获取 tokenizer
      text_tokenizer = model.get_text_tokenizer()
      visual_tokenizer = model.get_visual_tokenizer()
      # 处理输入
      image = Image.open("example.jpg")
      text = "描述这张图片"
      query = f"<image>\n{text}"
      prompt, input_ids, pixel_values = model.preprocess_inputs(query, [image])
      attention_mask = torch.ne(input_ids, text_tokenizer.pad_token_id)
      # 生成输出
      with torch.inference_mode():
      output_ids = model.generate(
      input_ids.unsqueeze(0).cuda(),
      pixel_values=[pixel_values.cuda()],
      attention_mask=attention_mask.unsqueeze(0).cuda(),
      max_new_tokens=1024
      )
      output = text_tokenizer.decode(output_ids[0], skip_special_tokens=True)
      print("输出结果:", output)
      
    • 执行脚本:
      python run_ovis.py
      
  3. 查看结果
    • 输出示例: “图片中是一只狗站在草地上,背景是蓝天”。

Gradio 界面操作

  1. 启动服务
    • 在 Ovis 目录运行:
      python ovis/serve/server.py --model_path AIDC-AI/Ovis2-8B --port 8000
      
    • 等待加载,访问 http://127.0.0.1:8000
  2. 界面操作
    • 上传图片到界面。
    • 输入提示,如 “这张图片里有什么?”。
    • 点击提交,查看生成结果。

特色功能操作详解

高分辨率图像处理

  • 操作步骤:上传高分辨率图片,模型自动分割处理(最大分区数 9)。
  • 场景:适用于艺术品分析、地图解读等任务。
  • 硬件建议:16GB 以上显存,确保流畅运行。

视频与多图分析

  • 操作步骤
    1. 准备视频帧或多张图片,如 [Image.open("frame1.jpg"), Image.open("frame2.jpg")]
    2. 修改推理代码中的 pixel_values 参数为多图列表。
  • 场景:分析视频片段或连续图像序列。
  • 输出示例: “第一帧是街道,第二帧是行人”。

多语言 OCR 支持

  • 操作步骤:上传含多语言文字的图片,输入提示 “提取图片中的文字”。
  • 场景:扫描文档、翻译图片文字。
  • 结果示例:提取中英文混合文字并生成描述。

增强推理能力

  • 操作步骤:输入复杂问题,如 “图片中有几个人?请逐步说明”。
  • 场景:教育、数据分析任务。
  • 输出示例: “图片中有两个人,第一步观察左侧有一个人,第二步观察右侧有第二个人”。

注意事项

  • 硬件要求:Ovis2-1B 需 4GB 显存,Ovis2-34B 建议多 GPU(48GB+)。
  • 模型兼容性:支持主流 LLM(如 Qwen2.5)和 ViT(如 aimv2)。
  • 社区反馈:问题可提交至 GitHub Issues。

 

Ovis2 图片反推提示词一键安装包

基于Ovis2-4B和Ovis2-2B 这2个大模型制作。

夸克:https://pan.quark.cn/s/23095bb34e7c

百度:https://pan.baidu.com/s/12fWAbshwKY8OYcCcv_5Pkg?pwd=2727

解压密码自行在jian27查找。

CDN1
未经允许不得转载:首席AI分享圈 » Ovis:视觉与文本对齐模型,精准反推图像提示词

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文