import os import gradio as gr from mistralai import Mistral api_key = os.environ["MISTRAL_API_KEY"] client = Mistral(api_key=api_key) model_name = "open-mistral-nemo" def generate_question(title, text): prompt = f""" عنوان الدرس: {title} الفقرة: {text} المطلوب: اقرأ عنوان الدرس والفقرة بعناية، ثم قُم بصياغة سؤال شامل واضح باللغة العربية الفصحى بحيث: - يعتمد على عنوان الدرس ومحتوى الفقرة معاً. - يكون سهل الفهم وغير معقد. - يغطي جميع الأفكار والمعلومات الموجودة بالفقرة . - يُكتب بلغة عربية فصحى سليمة. - لا تستخدم أي لغة غير العربية. - يجب أن يكون السؤال شاملاً لمحتوى الفقرة بالكامل ومرتبطاً بعنوان الدرس. السؤال: """ try: response = client.chat.complete( model=model_name, messages=[ {"role": "user", "content": prompt} ], temperature=0.7 ) return response.choices[0].message.content except Exception as e: return f"حدث خطأ: {e}" # Gradio UI demo = gr.Interface( fn=generate_question, inputs=[ gr.Textbox( lines=2, label="عنوان الدرس" ), gr.Textbox( lines=10, label="الفقرة" ) ], outputs=gr.Textbox( lines=6, label="السؤال المولد" ), title="مولد الأسئلة العربية باستخدام Mistral Nemo", description="أدخل عنوان الدرس والفقرة وسيتم توليد سؤال شامل." ) demo.launch()