Spaces:
Runtime error
Runtime error
File size: 2,485 Bytes
bc818eb ecf3e9f bc818eb ecf3e9f 729a565 bc818eb ef3b7ef bc818eb ef3b7ef bc818eb ef3b7ef 1dedcc8 ef3b7ef 1dedcc8 ef3b7ef 1dedcc8 bc818eb 3d40167 bc818eb 1dedcc8 bc818eb ef3b7ef 1dedcc8 bc818eb 1dedcc8 bc818eb | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | import os
import gradio as gr
from mistralai.client import MistralClient
client = MistralClient(api_key="TZ9qwh6BF0k3X1LSNUEvV35Twd6zdxen")
model_name = "open-mistral-nemo"
def generate_question(text):
prompt = f"""
بصفتك خبيراً في صياغة المناهج والتعلم النشط، حلل النص المرفق وصغ لي "سؤالاً جوهرياً واحداً" (Essential Question) يكون هو المدخل لعملية التسميع والربط الذهني. عند صياغة السؤال، التزم بالقواعد الصارمة التالية:
وحدة الموضوع (Integrative Synthesis): لا تسأل عن تفاصيل مبعثرة، بل ابحث عن "الخيط الرفيع" الذي يربط كل أجزاء النص وصغ سؤالاً يجمعها في إطار واحد.
الربط بين العلة والنتيجة (Mechanism & Outcome): ركز على "لماذا وكيف" يؤدي التركيب أو السبب المذكور في النص إلى النتيجة أو الظاهرة الموصوفة.
تنشيط التفكير التحليلي: تجنب أسئلة (ماذا، عدد، اذكر). ابدأ السؤال بكلمات مثل: (كيف يفسر...؟، ما العلاقة الديناميكية بين...؟، كيف يتدرج...؟)، بحيث يضطر عقلي لتركيب الإجابة لا سردها.
الشمولية الاستراتيجية: يجب أن تكون الإجابة المثالية على هذا السؤال كفيلة بتغطية 80% إلى 90% من المعلومات الرئيسية الواردة في النص.
إليك النص الذي سأقوم بتسميعه:
{text}
السؤال:
"""
try:
response = client.chat.complete(
model=model_name,
messages=[
{"role": "user", "content": prompt}
],
temperature=0.3
)
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=10,
label="الفقرة"
)
],
outputs=gr.Textbox(
lines=14,
label="السؤال المولد"
),
title="مولد الأسئلة العربية باستخدام Mistral Nemo",
description="أدخل عنوان الدرس والفقرة وسيتم توليد سؤال شامل."
)
demo.launch()
|