File size: 1,404 Bytes
4ab5996
 
 
 
 
 
 
d2dec26
4ab5996
 
d2dec26
 
 
 
 
 
 
 
 
4ab5996
d2dec26
 
 
 
 
4ab5996
 
 
 
 
 
 
d2dec26
4ab5996
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
import gradio as gr

# اسم مستودع الموديل متاعك
model_name = "Dav66/Te"

# تحميل التوكنيزر
tokenizer = AutoTokenizer.from_pretrained(model_name)

# تحميل الموديل مع تفعيل offloading على القرص وتحديد نوع البيانات
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    device_map="auto",               # توزيع تلقائي على CPU
    offload_folder="./offload",     # مجلد لتخزين الأجزاء المؤقتة
    torch_dtype=torch.float16       # تقليل حجم الأوزان
)

# دالة التوليد (باستهلاك ذاكرة منخفض)
def generate_text(prompt):
    with torch.no_grad():  # تقليل استهلاك الذاكرة
        inputs = tokenizer(prompt, return_tensors="pt")
        outputs = model.generate(**inputs, max_new_tokens=50)  # توليد قصير نسبياً
        text = tokenizer.decode(outputs[0], skip_special_tokens=True)
        return text

# واجهة Gradio
iface = gr.Interface(
    fn=generate_text,
    inputs=gr.Textbox(lines=2, placeholder="اكتب هنا النص..."),
    outputs="text",
    title="توليد نص بالعربي",
    description="تطبيق بسيط يعرض موديلك على Hugging Face Space بكفاءة على CPU"
)

iface.launch()