Spaces:
Running
Running
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, | |
torch_dtype=torch.float32, | |
use_safetensors=True, | |
low_cpu_mem_usage=False | |
) | |
# تقليل طول المخرجات وتحسين السرعة | |
def generate_response(prompt): | |
system_prompt = "أنت مساعد متخصص في الفلسفة، تجيب عن الأسئلة بدقة وعمق، مع ربط المفاهيم ببعضها عند الحاجة." | |
full_prompt = f"{system_prompt}\n\nالسؤال: {prompt}\n\nالجواب:" | |
inputs = tokenizer(full_prompt, return_tensors="pt", truncation=True, max_length=256) | |
outputs = model.generate( | |
**inputs, | |
max_length=256, # تقليل الطول الأقصى | |
num_return_sequences=1, | |
temperature=0.7, | |
do_sample=False, # تعطيل العينات العشوائية | |
num_beams=1 # تعطيل beam search | |
) | |
response = tokenizer.decode(outputs[0], skip_special_tokens=True) | |
response = response.split("الجواب:")[-1].strip() | |
return response | |
# تعيين وقت timeout أطول | |
iface = gr.Interface( | |
fn=generate_response, | |
inputs=gr.Textbox(placeholder="اكتب سؤالك الفلسفي هنا..."), | |
outputs="text", | |
title="المساعد الفلسفي", | |
description="نموذج متخصص في الإجابة عن الأسئلة الفلسفية باللغة العربية" | |
) | |
iface.launch(server_name="0.0.0.0", server_port=7860) |