MainQuestion / app.py
mimoha's picture
Update app.py
d500dc8 verified
Raw
History Blame
2.03 kB
# 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)