Spaces:
Runtime error
Runtime error
import gradio as gr | |
from transformers import AutoTokenizer, AutoModelForCausalLM | |
import torch | |
# تحميل النموذج والمحلل اللغوي | |
model_id = "silma-ai/SILMA-9B-Instruct-v1.0" | |
tokenizer = AutoTokenizer.from_pretrained(model_id) | |
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="cpu") # استخدم المعالج بدلاً من CUDA | |
# دالة التلخيص | |
def summarize(text): | |
try: | |
prompt = f"[INST] قم بتلخيص النص التالي بطريقتين:\n\n" | |
prompt += "1. ملخص مترابط: اكتب فقرة واحدة مترابطة باستخدام كلمات الربط المناسبة مثل (كما، علاوة على ذلك، إضافة إلى ذلك، ولقد، وعليه، ومن ثم...)\n" | |
prompt += "2. نقاط رئيسية: اكتب النقاط الرئيسية مسبوقة بـ '**ــ**'\n\n" | |
prompt += "قواعد التلخيص:\n" | |
prompt += "- تقليل 8 كلمات من كل فقرة\n" | |
prompt += "- الحفاظ على المعنى الأساسي والسياق\n" | |
prompt += "- الحفاظ على المصطلحات الفلسفية المهمة\n" | |
prompt += "- التلخيص بأسلوب علمي وواضح\n\n" | |
prompt += f"النص الأصلي:\n{text} [/INST]" | |
# تحليل النص بدون .to("cuda") | |
inputs = tokenizer(prompt, return_tensors="pt") | |
# توليد النص | |
outputs = model.generate( | |
inputs.input_ids, | |
max_length=300, | |
num_return_sequences=1, | |
temperature=0.7, | |
top_p=0.95, | |
top_k=50, | |
no_repeat_ngram_size=2, | |
) | |
# فك ترميز الإخراج | |
summarized_text = tokenizer.decode(outputs[0], skip_special_tokens=True) | |
return summarized_text | |
except Exception as e: | |
return f"❌ خطأ: {str(e)}" | |
# بناء واجهة Gradio | |
interface = gr.Interface( | |
fn=summarize, | |
inputs=gr.Textbox(label="النص"), | |
outputs=gr.Textbox(label="الملخص"), | |
title="SILMA AI Summarizer", | |
description="أدخل نصًا وسيقوم النموذج بتلخيصه باستخدام تقنيتين مختلفتين.", | |
) | |
# تشغيل التطبيق | |
interface.launch() |