How to use from
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 "jana-ashraf-ai/python-assistant" \
    --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": "jana-ashraf-ai/python-assistant",
		"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 "jana-ashraf-ai/python-assistant" \
        --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": "jana-ashraf-ai/python-assistant",
		"messages": [
			{
				"role": "user",
				"content": "What is the capital of France?"
			}
		]
	}'
Quick Links

๐Ÿ Python Assistant (Arabic)

A fine-tuned version of Qwen2.5-1.5B-Instruct that answers Python programming questions in Arabic, with structured JSON output. Fine-tuned using LoRA via LLaMA-Factory.


Model Details

  • Developed by: jana-ashraf-ai
  • Base Model: Qwen/Qwen2.5-1.5B-Instruct
  • Model type: Causal Language Model (text-generation)
  • Language(s): Arabic (answers) + English (questions)
  • License: Apache 2.0
  • Fine-tuning method: QLoRA (LoRA rank=32) via LLaMA-Factory

What does this model do?

Given a Python programming question in English, the model returns a structured JSON answer in Arabic, explaining the solution step by step.


How to Use

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model_id = "jana-ashraf-ai/python-assistant"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.float16,
    device_map="auto"
)

system_prompt = """You are a Python expert assistant.
Answer the user's Python question in Arabic following the Output Schema.
Do not add any introduction or conclusion."""

question = "How do I reverse a list in Python?"

messages = [
    {"role": "system", "content": system_prompt},
    {"role": "user", "content": question}
]

text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)

outputs = model.generate(**inputs, max_new_tokens=512)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Training Details

Parameter Value
Base model Qwen2.5-1.5B-Instruct
Fine-tuning method LoRA (QLoRA)
LoRA rank 32
LoRA target all
Training samples 1,000
Epochs 3
Learning rate 1e-4
LR scheduler cosine
Warmup ratio 0.1
Batch size 1 (grad accum = 8)
Precision fp16
Quantization 4-bit (nf4)
Framework LLaMA-Factory
Hardware Google Colab T4 GPU

Training Data

Fine-tuned on a curated subset (1,000 samples) from iamtarun/python_code_instructions_18k_alpaca.

The answers were annotated and structured using GPT to produce Arabic explanations in a JSON schema format.

Train / Val split: 90% / 10%


Limitations

  • The model is optimized for Python questions only.
  • Answers are in Arabic โ€” not suitable for English-only use cases.
  • Small model size (1.5B) may struggle with very complex programming problems.
  • Output quality depends on the question being clear and specific.
Downloads last month
37
Safetensors
Model size
2B params
Tensor type
BF16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ 1 Ask for provider support

Model tree for jana-ashraf-ai/python-assistant

Adapter
(1678)
this model

Dataset used to train jana-ashraf-ai/python-assistant