mgzon-app / test_models.py
Mark-Lasfar
Update backend and server frontend for OAuth JSON response, client-side navigation, and add .gitignore
f53960f
from transformers import pipeline
import whisper
import time
from gtts import gTTS
import os
# اختبار 1: DistilGPT2 (نصي)
def test_distilgpt2():
print("\n=== اختبار DistilGPT2 ===")
start_time = time.time()
generator = pipeline('text-generation', model='distilgpt2')
# اختبار بالإنجليزية
prompt_en = "What's the capital of France?"
result_en = generator(
prompt_en,
max_new_tokens=50,
truncation=True,
do_sample=True,
top_p=0.9,
top_k=50, # إضافة top_k لتحسين التنوع
temperature=0.7 # لتقليل العشوائية
)
print(f"الرد (إنجليزي): {result_en[0]['generated_text']}")
# اختبار بالعربية
prompt_ar = "ما عاصمة فرنسا؟"
result_ar = generator(
prompt_ar,
max_new_tokens=50,
truncation=True,
do_sample=True,
top_p=0.9,
top_k=50,
temperature=0.7
)
print(f"الرد (عربي): {result_ar[0]['generated_text']}")
print(f"الوقت: {time.time() - start_time:.2f} ثانية")
# اختبار 2: Qwen2-0.5B-Instruct (نصي، دعم أفضل للعربية)
def test_qwen2():
print("\n=== اختبار Qwen2-0.5B-Instruct ===")
start_time = time.time()
generator = pipeline('text-generation', model='Qwen/Qwen2-0.5B-Instruct')
# اختبار بالإنجليزية
prompt_en = "What's the capital of France?"
result_en = generator(
prompt_en,
max_new_tokens=50,
truncation=True,
do_sample=True,
top_p=0.9,
top_k=50,
temperature=0.7
)
print(f"الرد (إنجليزي): {result_en[0]['generated_text']}")
# اختبار بالعربية
prompt_ar = "ما عاصمة فرنسا؟"
result_ar = generator(
prompt_ar,
max_new_tokens=50,
truncation=True,
do_sample=True,
top_p=0.9,
top_k=50,
temperature=0.7
)
print(f"الرد (عربي): {result_ar[0]['generated_text']}")
print(f"الوقت: {time.time() - start_time:.2f} ثانية")
# اختبار 3: Whisper-tiny (صوتي)
def test_whisper_tiny():
print("\n=== اختبار Whisper-tiny ===")
start_time = time.time()
# إنشاء ملف صوتي مؤقت باستخدام gTTS
text = "Hello world, this is a test audio."
tts = gTTS(text=text, lang='en')
audio_file = "test_audio.wav"
tts.save(audio_file)
# تحميل واختبار Whisper-tiny
model = whisper.load_model("tiny")
result = model.transcribe(audio_file, fp16=False)
print(f"النص المترجم: {result['text']}")
print(f"الوقت: {time.time() - start_time:.2f} ثانية")
# تنظيف الملف المؤقت
if os.path.exists(audio_file):
os.remove(audio_file)
if __name__ == "__main__":
test_distilgpt2()
test_qwen2()
test_whisper_tiny()