InternVL3
InternVL3 is a native multimodal large language model released by OpenGVLab that jointly learns vision and language in a single pre-training stage. LibreYOLO wraps it as an open-vocabulary object detector: any list of text labels becomes the class set, with no fixed head and no fine-tuning required.
- Tasks
- detection
- Sizes
- 1b, 2b, 8b at 448 px
- Install
pip install libreyolo- Support tier
- Sibling tier, since v. A separate product surface with its own factory and contract.
- Upstream
- InternVL3 by Shanghai AI Laboratory (OpenGVLab), MIT (code); Qwen License (weights). Paper, source
- Licenses
- Code MIT, weights MIT (code); Qwen License (weights). Commercial use
Install
InternVL3 needs the vlm extra, which pulls in transformers for the
chat-template backbone.
pip install "libreyolo[vlm]"Predict
LibreInternVL3 is a Python class, not a .pt checkpoint: it is not loaded
through the LibreYOLO() factory, and the libreyolo CLI does not resolve it.
The LibreVLM(...) factory (from libreyolo import LibreVLM) also reaches
this family by alias, e.g. LibreVLM("internvl3-2b"); the class used below is
what it constructs. Weights come from OpenGVLab's own -hf Hugging Face
repositories, not a LibreYOLO mirror; the first call downloads and caches
them locally, and logs a one-time license notice for the gated Qwen weights
before it does.
from libreyolo import LibreInternVL3, SAMPLE_IMAGE model = LibreInternVL3(size="2b") # Open vocabulary: any words work, not a fixed class head. Sticky# across every later predict()/track() call until set again.model.set_classes(["person", "bicycle", "dog"])result = model(SAMPLE_IMAGE, save=True) for box in result.boxes: print(box.cls, box.conf, box.xyxy)from libreyolo import LibreInternVL3, SAMPLE_IMAGE model = LibreInternVL3(size="2b") # The escape hatch beneath the detection convenience: free-form# questions, counting, or any prompt the boxes wrapper doesn't cover.text = model.chat(SAMPLE_IMAGE, "Describe the scene in one sentence.")print(text)result.boxes carries the parsed detections like any other family.
Confidence is a placeholder: InternVL3 emits no per-box score, so every
detection gets the same constant confidence, and conf= only drops rows
below that constant, it does not rank them. iou discards near-duplicate
boxes of the same class above the given overlap, a side effect of greedy
decoding repeating an object; it is not a class-wise NMS pass. Skip
set_classes() and the vocabulary defaults to the COCO-80 names. See
prediction for sources, streaming and result handling.
Variants
Three sizes: 1b, 2b and 8b, all OpenGVLab's native -hf checkpoints (a Qwen
LLM backbone, not the two-tower architecture the original InternVL paper
describes). LibreYOLO's benchmark harness has not measured this family, so
there are no published accuracy numbers to compare them by; pick a size
against your own compute budget.
LibreYOLO exposes this family for prediction only. train(), val() and
export() all raise NotImplementedError: fine-tune upstream and load the
result instead, dataset validation is skipped because a placeholder
confidence would make COCO mAP misleading, and export is out of scope for a
generative model with no state dict to trace.
Licensing
Check the license on the Hugging Face repository of the specific weights you download. Every checkpoint in the LibreYOLO org carries one, and they are not always the same across a family. That repository is the authoritative source; the summary below describes what applied when this page was last verified.
This is a description of the licenses involved, not legal advice. If the answer matters commercially, read the licenses yourself and take your own counsel.
- Original work
- InternVL3, Shanghai AI Laboratory (OpenGVLab)
- Upstream license
- MIT (code); Qwen License (weights)
- Upstream source
- github.com/OpenGVLab/InternVL
- LibreYOLO code
- MIT
- Weights
- MIT (code); Qwen License (weights), distributed by their authors. LibreYOLO does not host or mirror them.
- Interpretation
- InternVL3's own code is MIT, permissive and usable in commercial and closed-source products. The `-hf` checkpoints this family loads carry a Qwen LLM backbone and are licensed separately, under Alibaba Cloud's Qwen License: free to use, modify and redistribute with a "Built with Qwen" or "Improved using Qwen" attribution requirement, and a 100 million monthly-active-user ceiling on commercial use above which Alibaba's own authorization is required. LibreYOLO does not host or redistribute these weights: LibreInternVL3 downloads the matching size directly from OpenGVLab/InternVL3-<size>-hf on Hugging Face the first time it runs, and logs a one-time notice for the Qwen License before that download.
InternVL3's own code is MIT, permissive and usable in commercial and
closed-source products. The -hf checkpoints this family loads carry a Qwen
LLM backbone and are licensed separately, under Alibaba Cloud's Qwen License:
free to use, modify and redistribute with a "Built with Qwen" or "Improved
using Qwen" attribution requirement, and a 100 million monthly-active-user
ceiling on commercial use above which Alibaba's own authorization is
required. LibreYOLO does not host or redistribute these weights:
LibreInternVL3 downloads the matching size directly from
OpenGVLab/InternVL3-<size>-hf on Hugging Face the first time it runs, and
logs a one-time notice for the Qwen License before that download.
Citation
@article{zhu2025internvl3,
title={Internvl3: Exploring advanced training and test-time recipes for open-source multimodal models},
author={Zhu, Jinguo and Wang, Weiyun and Chen, Zhe and Liu, Zhaoyang and Ye, Shenglong and Gu, Lixin and Tian, Hao and Duan, Yuchen and Su, Weijie and Shao, Jie and others},
journal={arXiv preprint arXiv:2504.10479},
year={2025}
}Copied from the authors' citation block at github.com/OpenGVLab/InternVL#citation.