import re import gradio as gr from transformers import pipeline # تحميل النموذج باستخدام pipeline text_generator = pipeline("text-generation", model="aubmindlab/aragpt2-medium") # قراءة القصيدة من الملف def load_poem(file_path): with open(file_path, 'r', encoding='utf-8') as file: text = file.read() return text # دالة لإكمال النص مع التحقق مما إذا كان الإدخال جزءًا من القصيدة def complete_poem(user_input): # قراءة النص من الملف file_text = load_poem("poem.txt") # التحقق مما إذا كان النص المدخل جزءًا من القصيدة if user_input not in file_text: return "النص المدخل ليس جزءًا من القصيدة." # توليد النص المكتمل combined_text = file_text + "\n" + user_input completion = text_generator(combined_text, max_length=300, num_return_sequences=1) # استخراج جزء بسيط بعد النص المدخل generated_text = completion[0]["generated_text"] match = re.search(re.escape(user_input) + r'([\s\S]*?)[.!?]', generated_text) if match: return match.group(1).strip() else: return "لم يتم العثور على جملة كاملة بعد الإدخال مباشرة." # واجهة Gradio interface = gr.Interface(fn=complete_poem, inputs="text", outputs="text", title="إكمال النصوص الشعرية", description="تكملة لقصيدة متعب التركي.") # تشغيل الواجهة interface.launch()