File size: 1,683 Bytes
38afcf1
 
 
 
 
02beb74
 
4bd3d28
38afcf1
02beb74
 
 
38afcf1
02beb74
38afcf1
02beb74
 
38afcf1
 
 
 
 
02beb74
 
38afcf1
 
 
 
 
 
 
 
02beb74
38afcf1
 
 
 
 
02beb74
 
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
37
38
39
40
import gradio as gr
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
import os

# --- 1. إعدادات النموذج (تغيير اسم النموذج) ---
# Phi-3 Mini هو البديل الأقوى والأكثر كفاءة للذاكرة
MODEL_ID = "TinyLlama/TinyLlama-1.1B-Chat-v1.0"

# ... (بقية الدالة load_model() تظل كما هي) ...

# --- 2. تهيئة النموذج والتوكنايزر (نفس الكود) ---
def load_model():
    """تحميل نموذج Phi-3-Mini المكمم (أقل استهلاكاً للذاكرة)."""
    try:
        # تحديد جهاز التشغيل (cpu هو الأكيد في الطبقة المجانية)
        device = torch.device("cpu") # نركز على CPU لضمان النجاح
        print(f"✅ سيتم تشغيل النموذج على: {device}")

        # التكميم 4-bit ضروري جداً لتقليل استهلاك الذاكرة
        model = AutoModelForCausalLM.from_pretrained(
            MODEL_ID,
            torch_dtype=torch.float32, # قد نحتاج إلى float32 إذا كان على CPU
            load_in_4bit=True,
            device_map="auto" 
        ).to(device)
        
        tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
        
        return model, tokenizer, device
    
    except Exception as e:
        print(f"❌ فشل تحميل نموذج Phi-3-Mini: {e}")
        return None, None, None

# تحميل النموذج عند بدء تشغيل الـ Space
model, tokenizer, device = load_model()

# ... (دالة anesai_chat() تظل كما هي) ...
# ... (واجهة Gradio التفاعلية تظل كما هي) ...