Sammaali's picture
Update app.py
16589cc verified
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()