File size: 1,635 Bytes
5116b9d
 
 
 
 
 
 
 
 
9cd6a38
 
 
 
5116b9d
 
 
 
 
 
9cd6a38
5116b9d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
41
42
43
44
import gradio as gr
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

# تحميل النموذج والتوكنايزر
model_name = "methodya/1stapproachDeepsekPhilo_v2"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    device_map=None,  # تعطيل device_map
    torch_dtype=torch.float32,  # استخدام float32 بدل float16
    use_safetensors=True,  # استخدام safetensors بدل pytorch
    low_cpu_mem_usage=False  # تعطيل low_cpu_mem_usage
)

def generate_response(prompt):
    system_prompt = "أنت مساعد متخصص في الفلسفة، تجيب عن الأسئلة بدقة وعمق، مع ربط المفاهيم ببعضها عند الحاجة."
    full_prompt = f"{system_prompt}\n\nالسؤال: {prompt}\n\nالجواب:"
    
    inputs = tokenizer(full_prompt, return_tensors="pt")
    
    outputs = model.generate(
        **inputs,
        max_length=512,
        num_return_sequences=1,
        temperature=0.7,
        no_repeat_ngram_size=2,
        pad_token_id=tokenizer.eos_token_id
    )
    
    response = tokenizer.decode(outputs[0], skip_special_tokens=True)
    response = response.split("الجواب:")[-1].strip()
    
    return response

iface = gr.Interface(
    fn=generate_response,
    inputs=gr.Textbox(placeholder="اكتب سؤالك الفلسفي هنا..."),
    outputs="text",
    title="المساعد الفلسفي",
    description="نموذج متخصص في الإجابة عن الأسئلة الفلسفية باللغة العربية"
)

iface.launch()