# app.py from google import genai import gradio as gr API_KEY = "AIzaSyB4JKubDJd7nLx1NqPhDfMGeVWeQ7kqClY" client = genai.Client(api_key=API_KEY) MODEL_NAME = "gemini-2.5-flash" def generate_main_question_gemini(paragraph: str): if not paragraph or paragraph.strip() == "": return "الرجاء إدخال فقرة أولاً." prompt = f""" الفقرة التالية: {paragraph} المطلوب: اقرأ الفقرة الآتية بعناية، ثم أنشئ سؤالًا واحدًا فقط عنها، يكون عامًا وشاملًا ودقيقًا في الوقت نفسه، وكأنه سؤال امتحاني يطرحه أستاذ على الطلاب يجب أن يكون السؤال واضحًا، خاليًا من الغموض، ومبنيًا بأسلوب لغوي فصيح ومناسب للمناهج الدراسية. اختر نوع السؤال المناسب وفقًا لمحتوى الفقرة، مثل: – عرِّف ... – علِّل ... – عدِّد ... – اذكر وظيفة ... – ما فائدة ... – ما المقصود بـ ... – ماذا يحدث إذا ... – بماذا تتميّز ... – وضّح العلاقة بين ... لا تكتب أكثر من سؤال واحد. """ try: response = client.models.generate_content(model=MODEL_NAME, contents=prompt) return response.text.strip() except Exception as e: return f" Error while connecting to API: {e}" with gr.Blocks() as demo: gr.Markdown("## MainQuestion — Basic Question Generator (Arabic Output)") with gr.Row(): paragraph = gr.Textbox( label="Paragraph (Input text)", lines=8, placeholder="Paste the paragraph here..." ) output = gr.Textbox(label="Generated Question (Arabic)", lines=3) submit_btn = gr.Button("Submit") submit_btn.click(fn=generate_main_question_gemini, inputs=paragraph, outputs=output) if __name__ == "__main__": demo.launch(share=True, show_error=True)