Instructions to use Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct") model = AutoModelForCausalLM.from_pretrained("Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.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(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Inference
- Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct
- SGLang
How to use Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct 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 "Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct" \ --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": "Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct", "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 "Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct" \ --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": "Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Unsloth Studio new
How to use Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct to start chatting
Load model with FastModel
pip install unsloth from unsloth import FastModel model, tokenizer = FastModel.from_pretrained( model_name="Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct", max_seq_length=2048, ) - Docker Model Runner
How to use Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct with Docker Model Runner:
docker model run hf.co/Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct
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 "Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct" \
--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": "Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'Qwen3-4B-FitGPT-AR-EN-Instruct
Overview
Qwen3-4B-FitGPT-AR-EN-Instruct is a specialized bilingual fitness AI model, fine-tuned on top of a custom-merged Qwen3-4B foundation. It is designed to deliver science-based, practical fitness and nutrition guidance in both Arabic and English, while maintaining strict instruction-following capabilities including structured JSON output for agent-based systems.
This is the full merged model (LoRA adapters merged into 16-bit weights), ready for direct deployment without any additional adapter loading.
Model Details
| Property | Value |
|---|---|
| Developed by | Mohamed Ramadan |
| Model Type | Causal Language Model (Custom Merged Base + Fine-tuned) |
| Base Architecture | Custom DARE-TIES Merge of Qwen3-4B-Instruct-2507 + Qwen3-4B |
| Model Format | Full Weights — LoRA adapters merged into 16-bit base |
| Languages | Arabic 🇸🇦 & English 🇺🇸 |
| Training Framework | Unsloth + Hugging Face TRL |
| License | Apache 2.0 |
Key Capabilities
🏋️ Bilingual Fitness Expert
Delivers detailed, science-backed advice on:
- Workout programming & periodization
- Macro/micro nutrition planning
- Exercise technique and form cues
- Recovery and injury prevention
🤖 Strict Agent / JSON Mode
The model is trained to follow formatting instructions precisely:
- Returns only valid JSON when asked — no markdown wrappers, no preamble
- Returns only a number when asked for a number
- Returns only a list when asked for a list
- Never adds unsolicited commentary
🌍 Arabic-Native Support
Unlike most fitness models that treat Arabic as an afterthought, this model was fine-tuned with a dedicated Arabic fitness corpus (CIDAR + alpaca-gpt4-arabic + custom data), enabling fluent, natural Arabic responses.
Training Pipeline
The model was developed through a 3-stage engineering pipeline:
Stage 1 — Foundation Merging
Qwen3-4B-Instruct-2507 (55–70%)
+
Qwen3-4B Base (30–45%)
─────────────────────────────
Method: DARE-TIES (layer-wise weights)
Result: Custom bilingual base
Stage 2 — Supervised Fine-Tuning
~7,000 curated samples
Curriculum-ordered (easy → hard)
LoRA: r=64, alpha=128
Framework: Unsloth + TRL (SFT)
Stage 3 — Weight Integration
LoRA adapters merged into 16-bit base
Result: Standalone deployment-ready model
Training Dataset Composition (~7,000 samples)
| Source | Domain | Language |
|---|---|---|
| chibbss/fitness-chat | Fitness Q&A | EN |
| onurSakar/GYM-Exercise | Exercise library | EN |
| its-myrto/fitness-QA | Fitness Q&A | EN |
| Varick/workout-routine | Workout programs | EN |
| hammam/fitness-qa | Fitness synthetic | EN |
| arbml/CIDAR | General instructions | AR |
| alpaca-gpt4-arabic | General conversation | AR |
| mlabonne/FineTome-100k | Complex instructions | EN |
| Custom Agent examples | JSON / strict format | EN + AR |
All samples passed quality filters (deduplication, min-length, response quality) and were curriculum-sorted from easiest to hardest before training.
System Prompts
For best results, use one of these system prompts:
Fitness Coach (English):
You are Qwen3-4B-FitGPT-AR-EN-Instruct, an elite fitness coach and sports nutritionist. Give science-based, detailed, personalised advice on training, nutrition, exercise technique, and recovery. Be specific and practical.
Fitness Coach (Arabic):
أنت Qwen3-4B-FitGPT-AR-EN-Instruct، مدرب لياقة بدنية نخبة وأخصائي تغذية رياضية. تقدّم نصائح علمية دقيقة ومخصصة في التدريب والتغذية وأداء التمارين والتعافي. كن تفصيلياً وعملياً ومستنداً إلى أحدث الأبحاث العلمية.
Agent / Strict JSON Mode:
You are a precise AI assistant. Follow every instruction exactly. If asked for JSON output — ONLY valid JSON, no markdown, no explanation, no text before or after. If asked for a number, return only the number. Never add unsolicited commentary.
How to Use
Option A — Transformers (Local)
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_id = "Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto"
)
system = "You are an elite fitness coach. Give science-based, practical advice."
user = "Create a weekly muscle-building plan for a 25-year-old male, 80 kg, beginner."
messages = [
{"role": "system", "content": system},
{"role": "user", "content": user}
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer([text], return_tensors="pt").to("cuda")
with torch.no_grad():
outputs = model.generate(**inputs, max_new_tokens=512, temperature=0.7, do_sample=True)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))
Option B — Unsloth (Faster, 4-bit)
from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
"Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct",
max_seq_length=2048,
load_in_4bit=True,
)
FastLanguageModel.for_inference(model)
Option C — Agent / JSON Output
import json
AGENT_SYSTEM = (
"You are a precise AI assistant. Follow every instruction exactly. "
"If asked for JSON output — ONLY valid JSON, no markdown, no explanation. "
"Never add unsolicited commentary."
)
messages = [
{"role": "system", "content": AGENT_SYSTEM},
{"role": "user", "content": "Return ONLY JSON: {exercise, sets, reps} for barbell squats."}
]
# ... generate as above, then:
response = model_generate(messages, temperature=0.1) # low temp for JSON
data = json.loads(response) # ✅ clean, parseable JSON
Example Outputs
Arabic fitness plan:
سؤال: أنا مبتدئ عمري 25 وزني 85 كغ طولي 178. أريد خطة تدريبية أسبوعية.
الموديل يرد بخطة تفصيلية بالعربي مع التمارين والتكرارات والتغذية المناسبة.
Strict JSON:
Prompt:
Return ONLY JSON {exercise, sets, reps} for squats.Output:
{"exercise": "Barbell Squat", "sets": 4, "reps": 8}
Number-only:
Prompt:
How many grams of protein per kg for a strength athlete? Return only the integer.Output:
2
Related Repositories
| Repo | Description |
|---|---|
| 🔗 Qwen3-4B-FitGPT-AR-EN-Instruct | This repo — full 16-bit model |
| ⚡ Qwen3-4B-FitGPT-AR-EN-Instruct-GGUF | Q4_K_M quantized — for Ollama & llama.cpp |
Built with ❤️ by Mohamed Ramadan using Unsloth + Hugging Face
- Downloads last month
- 243
Install from pip and serve model
# Install SGLang from pip: pip install sglang# Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct" \ --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": "Mohamed132411/Qwen3-4B-FitGPT-AR-EN-Instruct", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'