Image-Text-to-Text
Transformers
Safetensors
English
internvl_chat
feature-extraction
mathematics
reasoning
multi-modal-qa
math-qa
figure-qa
geometry-qa
math-word-problem
textbook-qa
vqa
geometry-diagram
synthetic-scene
chart
plot
scientific-figure
table
function-plot
abstract-scene
puzzle-test
document-image
science
conversational
custom_code
Instructions to use MathLLMs/MathCoder-VL-2B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use MathLLMs/MathCoder-VL-2B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="MathLLMs/MathCoder-VL-2B", trust_remote_code=True) 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 AutoModel model = AutoModel.from_pretrained("MathLLMs/MathCoder-VL-2B", trust_remote_code=True, dtype="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use MathLLMs/MathCoder-VL-2B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "MathLLMs/MathCoder-VL-2B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "MathLLMs/MathCoder-VL-2B", "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/MathLLMs/MathCoder-VL-2B
- SGLang
How to use MathLLMs/MathCoder-VL-2B 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 "MathLLMs/MathCoder-VL-2B" \ --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": "MathLLMs/MathCoder-VL-2B", "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 "MathLLMs/MathCoder-VL-2B" \ --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": "MathLLMs/MathCoder-VL-2B", "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 MathLLMs/MathCoder-VL-2B with Docker Model Runner:
docker model run hf.co/MathLLMs/MathCoder-VL-2B
File size: 3,707 Bytes
f3ad3f1 7503ce1 f3ad3f1 7503ce1 f3ad3f1 7503ce1 b5d38d9 f3ad3f1 7503ce1 56b59a4 f3ad3f1 4e3c5a2 f3ad3f1 56b59a4 f3ad3f1 56b59a4 f3ad3f1 56b59a4 f3ad3f1 56b59a4 7503ce1 56b59a4 f3ad3f1 7503ce1 f3ad3f1 56b59a4 a46fb4d 56b59a4 f3ad3f1 56b59a4 f3ad3f1 56b59a4 f3ad3f1 56b59a4 f3ad3f1 56b59a4 f3ad3f1 56b59a4 f3ad3f1 56b59a4 f3ad3f1 8f34b8d 56b59a4 f3ad3f1 56b59a4 f3ad3f1 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | ---
base_model:
- OpenGVLab/Mini-InternVL-Chat-2B-V1-5
language:
- en
library_name: transformers
license: apache-2.0
metrics:
- accuracy
pipeline_tag: image-text-to-text
---
# MathCoder-VL: Bridging Vision and Code for Enhanced Multimodal Mathematical Reasoning
Repo: [https://github.com/mathllm/MathCoder](https://github.com/mathllm/MathCoder)
Paper: [https://huggingface.co/papers/2505.10557](https://huggingface.co/papers/2505.10557)
## Introduction
We introduce MathCoder-VL, a series of open-source large multimodal models (LMMs) specifically tailored for general math problem-solving. We also introduce [FigCodifier-8B](https://huggingface.co/MathLLMs/FigCodifier), an image-to-code model.
| Base Model |Ours |
|-------------------------------------------------------------------|-----------------------------------------------------------------------|
| [Mini-InternVL-Chat-2B-V1-5](https://huggingface.co/OpenGVLab/Mini-InternVL-Chat-2B-V1-5) | [MathCoder-VL-2B](https://huggingface.co/MathLLMs/MathCoder-VL-2B) |
| [InternVL2-8B](https://huggingface.co/OpenGVLab/InternVL2-8B) | [MathCoder-VL-8B](https://huggingface.co/MathLLMs/MathCoder-VL-8B)|
## Usage
For training and inference code, please refer to [InternVL](https://github.com/OpenGVLab/InternVL).
**Example:** (Illustrative - adapt to your specific needs and refer to InternVL for details)
```python
from transformers import pipeline
pipe = pipeline("image-text-to-text", model="MathLLMs/MathCoder-VL-2B", device=0) #replace with your preferred model and device
image = "path/to/your/image.png" #replace with your image path
prompt = "What is the area of the shape in this image?"
result = pipe(image=image, text=prompt)
print(result)
```
## Motivation
<div align="center">
<img src="./examples/fig1.png" width="100%" title="Result Figure">
</div>
## Construction of FigCodifier
<div align="center">
<img src="./examples/fig2.png" width="100%" title="Result Figure">
</div>
## Construction of MathCoder-VL
<div align="center">
<img src="./examples/fig4.png" width="100%" title="Result Figure">
</div>
## Performance
<div align="center">
<img src="./examples/tab1.png" width="100%" title="Result Figure">
</div>
## **Citation**
Please cite the paper if you use our data, model or code.
```
@inproceedings{
wang2025mathcodervl,
title={MathCoder-{VL}: Bridging Vision and Code for Enhanced Multimodal Mathematical Reasoning},
author={Ke Wang and Junting Pan and Linda Wei and Aojun Zhou and Weikang Shi and Zimu Lu and Han Xiao and Yunqiao Yang and Houxing Ren and Mingjie Zhan and Hongsheng Li},
booktitle={The 63rd Annual Meeting of the Association for Computational Linguistics},
year={2025},
url={https://openreview.net/forum?id=nuvtX1imAb}
}
```
```
@inproceedings{
lu2025mathcoder2,
title={MathCoder2: Better Math Reasoning from Continued Pretraining on Model-translated Mathematical Code},
author={Zimu Lu and Aojun Zhou and Ke Wang and Houxing Ren and Weikang Shi and Junting Pan and Mingjie Zhan and Hongsheng Li},
booktitle={The Thirteenth International Conference on Learning Representations},
year={2025},
url={https://openreview.net/forum?id=1Iuw1jcIrf}
}
```
```
@inproceedings{
wang2024mathcoder,
title={MathCoder: Seamless Code Integration in {LLM}s for Enhanced Mathematical Reasoning},
author={Ke Wang and Houxing Ren and Aojun Zhou and Zimu Lu and Sichun Luo and Weikang Shi and Renrui Zhang and Linqi Song and Mingjie Zhan and Hongsheng Li},
booktitle={The Twelfth International Conference on Learning Representations},
year={2024},
url={https://openreview.net/forum?id=z8TW0ttBPp}
}
``` |