Text Generation
Transformers
Safetensors
qwen3_vl
image-text-to-text
mtrini
compiwer-ai
qwen3-vl
reasoning
coding
mathematics
darija
moroccan-arabic
self-verifying-loop
conversational
Instructions to use CompiwerAI/Mtrini-SVL-1.1-Merged with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use CompiwerAI/Mtrini-SVL-1.1-Merged with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="CompiwerAI/Mtrini-SVL-1.1-Merged") 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("CompiwerAI/Mtrini-SVL-1.1-Merged") model = AutoModelForMultimodalLM.from_pretrained("CompiwerAI/Mtrini-SVL-1.1-Merged", 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 CompiwerAI/Mtrini-SVL-1.1-Merged with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "CompiwerAI/Mtrini-SVL-1.1-Merged" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "CompiwerAI/Mtrini-SVL-1.1-Merged", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/CompiwerAI/Mtrini-SVL-1.1-Merged
- SGLang
How to use CompiwerAI/Mtrini-SVL-1.1-Merged 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 "CompiwerAI/Mtrini-SVL-1.1-Merged" \ --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": "CompiwerAI/Mtrini-SVL-1.1-Merged", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'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 "CompiwerAI/Mtrini-SVL-1.1-Merged" \ --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": "CompiwerAI/Mtrini-SVL-1.1-Merged", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use CompiwerAI/Mtrini-SVL-1.1-Merged with Docker Model Runner:
docker model run hf.co/CompiwerAI/Mtrini-SVL-1.1-Merged
🐪 Mtrini-SVL-1.1
The model is out of the lab.
Mtrini-SVL-1.1 is an open-weight ~8B model developed by Compiwer AI, based on Qwen3-VL-8B-Instruct.
It was trained with a focus on:
- 🧠 Reasoning
- 💻 Coding
- 🧮 Mathematics
- 🇲🇦 Moroccan Darija
- 🌍 Multilingual tasks
And yes...
It's a Mtrini. 🐪
🔄 Self-Verifying Loop
SVL = Self-Verifying Loop
Our development concept:
THINK
↓
CHECK
↓
IMPROVE
↓
REPEAT 🔄
The goal is to encourage the model to verify and refine its responses.
SVL is an ongoing research direction at Compiwer AI.
📚 Training
The final dataset contained 58,574 unique examples.
Dataset Examples
🇲🇦 Moroccan Darija QA + Reasoning 2,170
💻 OpenCodeReasoning-2 30,000
🧮 OpenMathInstruct-2 30,000
⚡ Model Specs
Property Value
Model Mtrini-SVL-1.1
Base Qwen3-VL-8B-Instruct
Parameters ~8B
Architecture Qwen3-VL
Training LoRA / PEFT
Precision BF16
Training Context 4096 tokens
Dataset 58,574 unique examples
Developer Compiwer AI
Origin 🇲🇦 Salé, Morocco
📊 Training Run
Steps: 3,661
Epochs: 1
Training Loss: 0.5855
Mean Token Accuracy: 83.55%
These metrics describe the training run and should not be treated as standardized benchmark scores.
🚀 Usage
from transformers import Qwen3VLForConditionalGeneration, AutoTokenizer
model_id = "CompiwerAI/Mtrini-SVL-1.1-Merged"
tokenizer = AutoTokenizer.from_pretrained(
model_id,
trust_remote_code=True
)
model = Qwen3VLForConditionalGeneration.from_pretrained(
model_id,
torch_dtype="auto",
device_map="auto",
trust_remote_code=True
)
⚠️ Limitations
Mtrini is an experimental open model.
It can hallucinate, generate incorrect code, misunderstand prompts, or produce incorrect mathematical answers.
Verify important outputs.
🌍 Why Mtrini?
AI shouldn't only be built by the biggest companies on Earth.
Mtrini is Compiwer AI's experiment in building open AI with a focus on:
🇲🇦 Moroccan language
🧠 Reasoning
💻 Coding
🧮 Mathematics
🤝 Open AI
Building AI For Everyone.
Built in Salé, Morocco 🇲🇦
- Downloads last month
- -