Spaces:
Running
Running
import gradio as gr | |
from models.space_a import summarize_question | |
from models.space_b import generate_mentalqa_answer | |
css = """<your original CSS here>""" | |
def analyze_text(text, task, classification_type): | |
if not text.strip(): | |
return "الرجاء إدخال نص للتحليل." | |
try: | |
if task == "classification": | |
return generate_mentalqa_answer(text) | |
elif task == "summarization": | |
return summarize_question(text) | |
else: | |
return "❌ المهمة غير مدعومة حالياً." | |
except Exception: | |
return "❌ حدث خطأ أثناء المعالجة." | |
def update_ui(task): | |
return gr.update(visible=(task == "classification")) | |
with gr.Blocks(css=css) as demo: | |
task_state = gr.State("classification") | |
with gr.Column(elem_classes=["container-box"]): | |
gr.Markdown("## تجربة منصة الصحة النفسية") | |
task_selector = gr.Dropdown( | |
choices=[ | |
("تصنيف الأسئلة والأجوبة", "classification"), | |
("تلخيص النصوص", "summarization"), | |
], | |
label="اختيار نوع المهمة", | |
value="classification" | |
) | |
user_input = gr.Textbox(placeholder="أدخل النص هنا لتحليله...", lines=4, show_label=False) | |
classification_dropdown = gr.Dropdown( | |
["تصنيف سؤال", "تصنيف إجابة"], | |
label="نوع التصنيف", | |
visible=True | |
) | |
submit_btn = gr.Button("ابدأ التحليل") | |
output = gr.Textbox(label="النتيجة", elem_classes=["output-box"]) | |
task_selector.change(fn=update_ui, inputs=task_selector, outputs=classification_dropdown) | |
submit_btn.click(fn=analyze_text, inputs=[user_input, task_selector, classification_dropdown], outputs=output) | |
demo.launch() | |