Spaces:
Sleeping
Sleeping
| 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_study_schedule(subjects, lessons, days, hours_per_day): | |
| # التحقق من الإدخالات | |
| if not subjects.strip() or not lessons.strip() or not days.strip() or not hours_per_day.strip(): | |
| return "الرجاء ملء جميع الحقول أولاً." | |
| prompt = f""" | |
| المواد الدراسية: {subjects} | |
| عدد الدروس أو الفصول لكل مادة: {lessons} | |
| عدد الأيام المتاحة للدراسة: {days} | |
| عدد الساعات المتاحة للدراسة في كل يوم: {hours_per_day} | |
| المطلوب: | |
| اقترح جدول دراسي لتغطية المعطيات السابقة | |
| اعرض النتيجة بشكل سردي وواضح فقط. | |
| اكتب فقط البرنامج بدون اي عبارات اضافية. | |
| """ | |
| 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("## جدول الدراسة — منظم تلقائي (Arabic Output)") | |
| with gr.Row(): | |
| subjects_input = gr.Textbox( | |
| label="أسماء المواد الدراسية", | |
| placeholder="مثال: رياضيات، فيزياء، كيمياء", | |
| lines=2 | |
| ) | |
| lessons_input = gr.Textbox( | |
| label="عدد الدروس أو الفصول في كل مادة", | |
| placeholder="مثال: 10، 8، 12", | |
| lines=2 | |
| ) | |
| with gr.Row(): | |
| days_input = gr.Textbox( | |
| label="عدد الأيام المتاحة للدراسة", | |
| placeholder="مثال: 7", | |
| lines=1 | |
| ) | |
| hours_input = gr.Textbox( | |
| label="عدد الساعات المتاحة للدراسة في كل يوم", | |
| placeholder="مثال: 4", | |
| lines=1 | |
| ) | |
| output = gr.Textbox(label="الجدول الناتج (باراغراف)", lines=10) | |
| submit_btn = gr.Button("إنشاء الجدول") | |
| submit_btn.click( | |
| fn=generate_study_schedule, | |
| inputs=[subjects_input, lessons_input, days_input, hours_input], | |
| outputs=output | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch(share=True, show_error=True) | |