InternVL

开源接近GPT-4o的多模态对话模型,图像理解与对话一步到位。

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开源模型 🍴 复刻 792 🐛 待处理 318 👀 关注 65
GitHub ↗
GitHub 星标 ★ 10167
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源模型,MIT许可证,完全免费,可自行部署使用。

项目预览

InternVL 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开源模型
开发团队OpenGVLab
定价模式🏷️完全免费
价格说明开源模型,MIT许可证,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言Python
技术栈/模型gpt,gpt-4o,gpt-4v,image-classification,image-text-retrieval,llm,multi-modal,semantic-segmentation,video-classification,vision-language-model,vit-22b,vit-6b
GitHub 星标★ 10167
上线时间2023-11-22 00:00:00
代码更新2025-09-22
仓库体积39.6 MB
本站数据更新2026-11-10
维护状态低维护
收录时间2026-08-09
浏览次数4

项目介绍

InternVL 是一个开源的多模态对话模型家族,旨在成为 GPT-4o 的开源替代方案,在 CVPR 2024 上获得 Oral 论文。它解决了开源社区缺乏高性能视觉-语言模型的问题,通过将视觉编码器与语言模型深度融合,实现了接近 GPT-4o 的图像理解、对话和推理能力。核心能力包括:支持高分辨率图像输入、多轮对话、视觉问答、图像描述等。其技术栈基于 Python,采用大规模视觉-语言预训练策略,并提供了不同规模的模型版本(如 InternVL-Chat),以适应不同算力需求。项目在 GitHub 上拥有超过 10k 星标,是当前开源多模态领域最具影响力的项目之一。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 10167

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:进阶 约 20 分钟 部署方式:模型权重 5 步

环境要求

  • Python 环境(README 示例为 Python 代码)
  • 已安装 PyTorch(torch)与 transformers(PyTorch 版)
  • 已安装 Pillow(PIL)用于读取图片
  • NVIDIA GPU + CUDA 环境(示例代码使用 .cuda() 与 bfloat16)
  • 可访问 HuggingFace 下载 OpenGVLab 系列权重

安装与启动步骤

  1. 1准备运行环境

    README 未给出安装命令,需自备 Python 与 NVIDIA GPU/CUDA;示例全程使用 .cuda() 和 bfloat16,纯 CPU 或显卡不支持 bf16 时无法直接跑通。

  2. 2安装依赖库

    示例依赖 torch、transformers 与 Pillow,请按其官方文档自行安装对应 CUDA 版本;README 未提供 pip 安装命令,此处不代填。

  3. 3准备示例图片

    在代码所在目录创建 examples/ 目录并放入 image1.jpg;跨模态检索示例还需要 image2.jpg、image3.jpg,缺文件会直接报错。

  4. 4提取视觉特征

    用 InternViT-6B 对单张图片提取视觉特征。注意 README 中 image_processor 用的是 V1-5,模型用的是 V2_5,请照原文填写。

    import torch
    from PIL import Image
    from transformers import AutoModel, CLIPImageProcessor
    
    model = AutoModel.from_pretrained(
        'OpenGVLab/InternViT-6B-448px-V2_5',
        torch_dtype=torch.bfloat16,
        low_cpu_mem_usage=True,
        trust_remote_code=True).cuda().eval()
    
    image = Image.open('./examples/image1.jpg').convert('RGB')
    
    image_processor = CLIPImageProcessor.from_pretrained('OpenGVLab/InternViT-6B-448px-V1-5')
    
    pixel_values = image_processor(images=image, return_tensors='pt').pixel_values
    pixel_values = pixel_values.to(torch.bfloat16).cuda()
    
    outputs = model(pixel_values)
  5. 5跨模态检索编码

    用 InternVL-14B 分别编码三张图片与中英日三条文本,做图文检索。README 节选在此处被截断,后续计算相似度的代码请对照原文补全。

    import torch
    from PIL import Image
    from transformers import AutoModel, CLIPImageProcessor
    from transformers import AutoTokenizer
    
    model = AutoModel.from_pretrained(
        'OpenGVLab/InternVL-14B-224px',
        torch_dtype=torch.bfloat16,
        low_cpu_mem_usage=True,
        trust_remote_code=True).cuda().eval()
    
    image_processor = CLIPImageProcessor.from_pretrained('OpenGVLab/InternVL-14B-224px')
    
    tokenizer = AutoTokenizer.from_pretrained(
        'OpenGVLab/InternVL-14B-224px', use_fast=False, add_eos_token=True)
    tokenizer.pad_token_id = 0
    
    images = [
        Image.open('./examples/image1.jpg').convert('RGB'),
        Image.open('./examples/image2.jpg').convert('RGB'),
        Image.open('./examples/image3.jpg').convert('RGB')
    ]
    prefix = 'summarize:'
    texts = [
        prefix + 'a photo of a red panda',
        prefix + '一张熊猫的照片',
        prefix + '二匹の猫の写真'
    ]
    
    pixel_values = image_processor(images=images, return_tensors='pt').pixel_values
    pixel_values = pixel_values.to(torch.bfloat16).cuda()
    input_ids = tokenizer(texts, return_tensors='pt', max_length=80,
                          truncation=True, padding='max_length').input_ids.cuda()

关键配置

配置项必填说明示例
model(from_pretrained 的模型 ID)是指定从 HuggingFace 加载的权重仓库OpenGVLab/InternViT-6B-448px-V2_5
image_processor 模型 ID是图像预处理器的来源仓库,需与模型匹配OpenGVLab/InternViT-6B-448px-V1-5
torch_dtype否权重加载精度,示例统一使用 bfloat16torch.bfloat16
trust_remote_code是允许执行模型仓库自带的自定义代码True
tokenizer.pad_token_id否检索示例中把填充 token 设为 00
max_length否文本 tokenize 时的最大长度,示例为 8080

如何确认成功

脚本无报错跑完,拿到 outputs/pixel_values/input_ids 等张量,即说明模型加载与推理正常;本质检只在代码层面验证,README 未给出服务端口或界面。

常见问题

Q:需要多大显存才能跑?

A:README 未给出显存要求。示例用 InternViT-6B 和 InternVL-14B 级别的权重并以 bfloat16 加载,参数量较大,建议使用大显存 NVIDIA 显卡,显存不足可改用更小的模型版本。

Q:提示 examples/image1.jpg 不存在怎么办?

A:说明缺少示例图片。README 未提供图片下载方式,请自备图片并放到运行目录下的 examples/ 目录,文件名为 image1.jpg(检索示例还需 image2.jpg、image3.jpg)。

Q:为什么 image_processor 和模型 ID 版本号不一致?

A:这是 README 原文写法(模型为 InternViT-6B-448px-V2_5,处理器为 V1-5)。请先照原文填写,若加载报错可再对照项目文档确认匹配关系。

Q:没有 GPU 能运行吗?

A:示例代码显式调用了 .cuda() 并转成 bfloat16,需要 CUDA 环境;README 未提供 CPU 运行示例,纯 CPU 环境需自行改造代码,未见官方说明。

注意事项

  • README 节选中只给出了 HuggingFace 上的 Python 调用示例,没有 pip 安装命令、也没给 git clone 步骤,相关命令请以项目官方文档为准。
  • 代码依赖 CUDA 与 bfloat16 支持,纯 CPU 或老显卡可能无法直接运行。
  • 首次运行会从 HuggingFace 下载数 GB 级权重,注意网络与磁盘空间;README 未说明是否需要登录或配置镜像。
  • README 中的跨模态检索示例在节选里被截断,缺少后续相似度计算部分,请对照原文补全后再运行。

核心亮点

  • 性能接近 GPT-4o,在多项视觉-语言基准上领先开源同类模型
  • 提供多种模型规模,从 1B 到 40B+,适配不同硬件场景
  • 支持高分辨率图像输入,细节理解能力强,适合文档、图表等场景

不足之处

  • 模型参数量大,推理资源需求高,普通开发者难以本地部署
  • 文档和社区支持尚在完善,中文资料相对较少

适用场景

  • 企业级多模态内容审核与理解
  • 智能客服中的图像与文档问答
  • 学术研究中的视觉-语言模型对比与二次开发

替代项目

LLaVA、Qwen-VL、CogVLM

上一篇:LLMSurvey

下一篇:ERNIE

同类项目推荐

z80ai 开源

让8位老电脑跑起AI聊天,复古硬件也能玩转大模型

Z80-μLM is a 2-bit quantized language model small enough to run on an 8-bit Z80 pro···

★ 1135 2026-08-09
Nitro-1 开源

一步生成高清图,让扩散模型快如闪电

This repo provides a working re-implementation of Latent Adversarial Diffusion Disti···

★ 126 2026-08-09
open_clip 开源

开源复现 CLIP,训练微调零样本多模态模型

An open source implementation of CLIP.

★ 14252 2026-08-10
DOFA 开源

一个模型看懂多种卫星数据,跨模态遥感分析不再难

Code for Neural Plasticity-Inspired Foundation Model for Observing the Earth Crossin···

★ 219 2026-08-09
SwiftDiffusion 开源

在苹果设备上原生运行 Stable Diffusion,打造本地 AI 画图应用

Stable Diffusion implementation using CoreML, PyTorch and SwiftUI

★ 164 2026-08-09
BlossomLM 开源

开源对话模型+训练数据,一键复现你的专属AI助手

A powerful, open-source large language model, including the training data.

★ 183 2026-08-09
llm.pdf 开源

打开 PDF 就能和 AI 聊天,不用装任何环境

Run LLMs inside a PDF file.

★ 878 2026-09-22
TabPFN 开源

几行代码搞定表格数据预测,小样本也能媲美调优后的 XGBoost。

⚡ TabPFN: Foundation Model for Tabular Data ⚡

★ 8411 2026-08-09