d12o6aa's picture
Update app.py
b304261 verified
import os
import gradio as gr
from arabguard.core import ArabGuard
# إعداد ArabGuard فقط
guard = ArabGuard(use_ai=True)
def universal_api(user_input, system_prompt):
"""
الدالة دي هدفها الفحص فقط وترجيع الـ Trace للباك إند
"""
# 1. فحص ArabGuard
result = guard.analyze(user_input)
steps = result.pipeline_steps
# 2. هنرجع نتيجة الفحص والقرار (Blocked أو Safe)
# مش هنكلم Groq هنا لأن الباك إند هو اللي هيكلمه بناءً على القرار ده
decision = result.decision # ده بيرجع Label (SAFE/BLOCKED)
# بنرجع رد مؤقت، الـ Steps، والقرار
return "Analysis Complete", steps, decision
# الواجهة (بقت أخف بكتير)
with gr.Blocks() as demo:
gr.Markdown("# ArabGuard Analyzer Gateway")
with gr.Row():
sys_in = gr.Textbox(label="System Prompt", value="أنت مساعد ذكي.")
usr_in = gr.Textbox(label="User Input")
run_btn = gr.Button("Analyze")
with gr.Row():
out_msg = gr.Textbox(label="Status Message")
out_status = gr.Label(label="Security Decision")
out_json = gr.JSON(label="ArabGuard Trace")
run_btn.click(
universal_api,
inputs=[usr_in, sys_in],
outputs=[out_msg, out_json, out_status]
)
demo.launch()