Instructions to use attashe/Bernini-MLLM-Qwen2.5-VL-7B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use attashe/Bernini-MLLM-Qwen2.5-VL-7B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="attashe/Bernini-MLLM-Qwen2.5-VL-7B") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("attashe/Bernini-MLLM-Qwen2.5-VL-7B") model = AutoModelForMultimodalLM.from_pretrained("attashe/Bernini-MLLM-Qwen2.5-VL-7B") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use attashe/Bernini-MLLM-Qwen2.5-VL-7B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "attashe/Bernini-MLLM-Qwen2.5-VL-7B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "attashe/Bernini-MLLM-Qwen2.5-VL-7B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/attashe/Bernini-MLLM-Qwen2.5-VL-7B
- SGLang
How to use attashe/Bernini-MLLM-Qwen2.5-VL-7B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "attashe/Bernini-MLLM-Qwen2.5-VL-7B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "attashe/Bernini-MLLM-Qwen2.5-VL-7B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "attashe/Bernini-MLLM-Qwen2.5-VL-7B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "attashe/Bernini-MLLM-Qwen2.5-VL-7B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use attashe/Bernini-MLLM-Qwen2.5-VL-7B with Docker Model Runner:
docker model run hf.co/attashe/Bernini-MLLM-Qwen2.5-VL-7B
Bernini MLLM (Qwen2.5-VL-7B)
This is the MLLM semantic planner from ByteDance Bernini
(Bernini: Latent Semantic Planning for Video Diffusion), a fine-tuned
Qwen2.5-VL-7B-Instruct, extracted into a standalone transformers-loadable
checkpoint.
In the original release the planner weights are bundled inside the unified
ByteDance/Bernini-Diffusers
checkpoint under the mllm. prefix. This repo simply extracts those tensors
(prefix stripped, cast to bfloat16) and pairs them with the standard
Qwen2.5-VL config / tokenizer / processor, so the model loads with stock
transformers like any other Qwen2.5-VL model. The weights are unchanged.
Usage
from transformers import Qwen2_5_VLForConditionalGeneration, AutoProcessor
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
"attashe/Bernini-MLLM-Qwen2.5-VL-7B", dtype="bfloat16", device_map="auto"
)
processor = AutoProcessor.from_pretrained("attashe/Bernini-MLLM-Qwen2.5-VL-7B")
Notes
- Architecture:
Qwen2_5_VLForConditionalGeneration(8.29B params),bfloat16. - These are ByteDance's fine-tuned Bernini planner weights; within the full Bernini pipeline the planner's hidden states feed a DiT renderer, so as a standalone chat/VL model its behaviour may differ from the base Qwen2.5-VL-7B-Instruct.
- License: Apache-2.0, inherited from the upstream Bernini release.
Citation
@article{bernini,
title = {Bernini: Latent Semantic Planning for Video Diffusion},
author = {Chenchen Liu and Junyi Chen and Lei Li and Lu Chi and Mingzhen Sun and Zhuoying Li and Yi Fu and Ruoyu Guo and Yiheng Wu and Ge Bai and Zehuan Yuan},
journal = {arXiv preprint arXiv:2605.22344},
year = {2026}
}
- Downloads last month
- 15