Views
No views yet
| Metric | Score | Comparison |
|---|---|---|
| Validation Accuracy | 72.3% | 🏆 Beats NileChat-3B baseline (69.5%) |
| Improvement over baseline | +2.8% | ✅ Significant improvement |
| Cultural Understanding | High | ✅ Specialized Islamic knowledge |
| Multilingual Support | Arabic/English | ✅ Bilingual capabilities |
pip install torch transformers peft accelerate bitsandbytes1from transformers import AutoModelForCausalLM, AutoTokenizer
2from peft import PeftModel
3import torch
4
5# Load base model with quantization for memory efficiency
6base_model = AutoModelForCausalLM.from_pretrained(
7 "Qwen/Qwen2.5-7B-Instruct",
8 torch_dtype=torch.bfloat16,
9 device_map="auto",
10 load_in_4bit=True
11)
12
13# Load tokenizer
14tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-7B-Instruct")
15
16# Load the Islamic Expert LoRA adapter
17model = PeftModel.from_pretrained(
18 base_model,
19 "rafiulbiswas/qwen-islamic-expert",
20 torch_dtype=torch.bfloat16
21)
22
23# Set to evaluation mode
24model.eval()1def ask_islamic_question(question, options=None):
2 if options:
3 # Multiple choice format
4 prompt = f'''<|im_start|>system
5أنت عالم متخصص في الثقافة الإسلامية والحضارة الإسلامية.<|im_end|>
6<|im_start|>user
7{question}
8
9A. {options[0]}
10B. {options[1]}
11C. {options[2]}
12D. {options[3]}
13
14بناءً على معرفتك العميقة بالثقافة الإسلامية، ما هي الإجابة الصحيحة؟<|im_end|>
15<|im_start|>assistant
16'''
17 else:
18 # Open-ended question
19 prompt = f'''<|im_start|>system
20أنت عالم متخصص في الثقافة الإسلامية والحضارة الإسلامية.<|im_end|>
21<|im_start|>user
22{question}<|im_end|>
23<|im_start|>assistant
24'''
25
26 inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
27
28 with torch.no_grad():
29 outputs = model.generate(
30 **inputs,
31 max_new_tokens=150,
32 temperature=0.7,
33 do_sample=True,
34 pad_token_id=tokenizer.eos_token_id
35 )
36
37 response = tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True)
38 return response.strip()
39
40# Example 1: Multiple Choice Question
41question = "ما هي أركان الإسلام الخمسة؟"
42options = [
43 "الصلاة والزكاة والصوم والحج والشهادة",
44 "القرآن والسنة والإجماع والقياس والمصلحة",
45 "الإيمان والإسلام والإحسان والقدر والبعث",
46 "العدل والحرية والمساواة والشورى والكرامة"
47]
48
49answer = ask_islamic_question(question, options)
50print(f"الجواب: {answer}")
51
52# Example 2: Open-ended Question
53question = "اشرح مفهوم العدالة في الإسلام"
54answer = ask_islamic_question(question)
55print(f"الجواب: {answer}")1@misc{qwen-islamic-expert-2024,
2 title={Qwen Islamic Expert: A Specialized Cultural Knowledge Model},
3 author={Md.Rafiul Biswas, Kais Attia, Shimaa Ibrahim, Mabrouka Bessghaier, Firoj Alam, and Wajdi Zaghouani},
4 year={2024},
5 howpublished={Hugging Face Model Hub},
6 url={https://huggingface.co/rafiulbiswas/qwen-islamic-expert}
7}