Instructions to use DatasetMan/QGO-8B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use DatasetMan/QGO-8B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="DatasetMan/QGO-8B") 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("DatasetMan/QGO-8B") model = AutoModelForMultimodalLM.from_pretrained("DatasetMan/QGO-8B", device_map="auto") 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 DatasetMan/QGO-8B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "DatasetMan/QGO-8B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DatasetMan/QGO-8B", "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/DatasetMan/QGO-8B
- SGLang
How to use DatasetMan/QGO-8B 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 "DatasetMan/QGO-8B" \ --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": "DatasetMan/QGO-8B", "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 "DatasetMan/QGO-8B" \ --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": "DatasetMan/QGO-8B", "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 DatasetMan/QGO-8B with Docker Model Runner:
docker model run hf.co/DatasetMan/QGO-8B
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 "DatasetMan/QGO-8B" \
--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": "DatasetMan/QGO-8B",
"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"
}
}
]
}
]
}'QGO-8B
QGO-8B is an OCR-centric GRPO checkpoint derived from
Qwen/Qwen3-VL-8B-Thinking.
This repository contains the complete global-step-200 BF16 checkpoint used in
the PM4Bench paper.
Model details
- Architecture:
Qwen3VLForConditionalGeneration - Base model:
Qwen/Qwen3-VL-8B-Thinking - Training method: GRPO
- Released checkpoint: global step 200
- Weight format: safetensors, four BF16 shards
- Indexed tensor bytes: 17,534,247,392
- License: Apache-2.0
- Tested Transformers version: 4.57.6
Usage
from transformers import AutoProcessor, Qwen3VLForConditionalGeneration
model_id = "DatasetMan/QGO-8B"
model = Qwen3VLForConditionalGeneration.from_pretrained(
model_id,
dtype="auto",
device_map="auto",
)
processor = AutoProcessor.from_pretrained(model_id)
The full BF16 weights are approximately 17.5 GB before runtime allocations. Plan GPU/CPU memory for weights, vision inputs, KV cache, and generation in addition to the checkpoint size.
Use the base model's official chat template and greedy decoding for PM4Bench evaluation. Task prompts and evaluation code are provided in https://github.com/opendatalab/PM4Bench.
Training
The released data is available at
https://huggingface.co/datasets/DatasetMan/PM4Bench-QGO-Train. The recipe
uses 32 prompts and 8 rollouts per prompt (256 trajectories per step), AdamW
with learning rate 1e-6, BF16, and eight GPUs.
PM4Bench evaluation
| Model | MDUR trad. | MDUR vision | MIQA trad. | MIQA vision | MSOCR | MGUI |
|---|---|---|---|---|---|---|
| Qwen3-VL-8B-Thinking | 38.55 | 34.88 | 53.63 | 47.69 | 1.53 | 78.30 |
| QGO-8B | 46.82 | 40.84 | 55.24 | 51.06 | 8.17 | 80.00 |
These are the audited paper results. MDUR and MGUI are percentages, MIQA is the six-dimension judge score on a 10-100 scale, and MSOCR is on a 0-40 scale.
Limitations
QGO-8B targets multilingual OCR robustness. It inherits limitations and risks from the Qwen base model and is not guaranteed to improve every downstream task or language. Coordinate outputs, OCR transcriptions, and long-form reasoning should be validated before use in consequential applications.
- Downloads last month
- 9
Install from pip and serve model
# Install SGLang from pip: pip install sglang# Start the SGLang server: python3 -m sglang.launch_server \ --model-path "DatasetMan/QGO-8B" \ --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": "DatasetMan/QGO-8B", "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" } } ] } ] }'