Upload 2 files
Browse files- app.py +103 -0
- requirements.txt +1 -0
app.py
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import gradio as gr
|
| 2 |
+
|
| 3 |
+
# -------------------------------------------------------------------
|
| 4 |
+
# ⚠️ هام: عدّل هذه الروابط بعد إنشاء الـ Spaces الأخرى
|
| 5 |
+
# -------------------------------------------------------------------
|
| 6 |
+
YOUR_USERNAME = "YOUR-USERNAME" # <-- استبدل هذا باسم المستخدم الخاص بك لاحقاً
|
| 7 |
+
# -------------------------------------------------------------------
|
| 8 |
+
|
| 9 |
+
ACCURATE_URL = f"https://huggingface.co/spaces/{YOUR_USERNAME}/tashkeel-accurate"
|
| 10 |
+
BALANCED_URL = f"https://huggingface.co/spaces/{YOUR_USERNAME}/tashkeel-balanced"
|
| 11 |
+
FAST_URL = f"https://huggingface.co/spaces/{YOUR_USERNAME}/tashkeel-fast"
|
| 12 |
+
GRAMMAR_URL = f"https://huggingface.co/spaces/{YOUR_USERNAME}/grammar-corrector"
|
| 13 |
+
|
| 14 |
+
CSS = """
|
| 15 |
+
body { background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); }
|
| 16 |
+
.gradio-container { max-width: 800px !important; margin-top: 50px !important; }
|
| 17 |
+
.card-link {
|
| 18 |
+
display: block; padding: 2.5rem; background: #ffffff;
|
| 19 |
+
border-radius: 15px; border: 1px solid #e0e0e0; text-decoration: none;
|
| 20 |
+
color: #333; transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(0,0,0,0.05);
|
| 21 |
+
margin-bottom: 1.5rem; text-align: right; direction: rtl;
|
| 22 |
+
}
|
| 23 |
+
.card-link:hover {
|
| 24 |
+
transform: translateY(-5px); box-shadow: 0 8px 25px rgba(102, 126, 234, 0.2);
|
| 25 |
+
border-color: #667eea;
|
| 26 |
+
}
|
| 27 |
+
.card-link h3 {
|
| 28 |
+
margin-top: 0; margin-bottom: 0.5rem; font-size: 1.75rem; color: #667eea;
|
| 29 |
+
}
|
| 30 |
+
.card-link p { font-size: 1rem; color: #555; line-height: 1.6; }
|
| 31 |
+
.card-link .badge {
|
| 32 |
+
padding: 5px 12px; border-radius: 20px; font-weight: bold;
|
| 33 |
+
font-size: 0.9rem; margin-right: 8px; display: inline-block; margin-top: 5px;
|
| 34 |
+
}
|
| 35 |
+
.badge-green { background-color: #e6f7ec; color: #28a745; }
|
| 36 |
+
.badge-orange { background-color: #fff4e6; color: #ff9800; }
|
| 37 |
+
.badge-red { background-color: #ffebee; color: #e74c3c; }
|
| 38 |
+
.badge-blue { background-color: #e3f2fd; color: #1e88e5; }
|
| 39 |
+
"""
|
| 40 |
+
|
| 41 |
+
with gr.Blocks(theme=gr.themes.Soft(), css=CSS, title="مجموعة أدوات روز") as demo:
|
| 42 |
+
|
| 43 |
+
gr.Markdown("""
|
| 44 |
+
<div style="text-align: center; direction: rtl;">
|
| 45 |
+
<h1 style="color: #4a5568;">🎯 مجموعة أدوات روز للغة العربية</h1>
|
| 46 |
+
<p style="font-size: 1.2rem; color: #718096;">
|
| 47 |
+
للطالبة: روز مرعي | الصف السادس (دولي)
|
| 48 |
+
</p>
|
| 49 |
+
<p style="font-size: 1.1rem; color: #555;">
|
| 50 |
+
تعمل هذه الأدوات على سيرفرات مجانية (CPU)، لذا تم تقسيمها حسب السرعة والدقة.
|
| 51 |
+
</p>
|
| 52 |
+
</div>
|
| 53 |
+
""")
|
| 54 |
+
|
| 55 |
+
gr.Markdown("## 1. أدوات تشكيل النصوص (Tashkeel)")
|
| 56 |
+
|
| 57 |
+
with gr.Column():
|
| 58 |
+
gr.HTML(f"""
|
| 59 |
+
<a href="{ACCURATE_URL}" class="card-link" target="_blank">
|
| 60 |
+
<h3>🚀 النموذج الدقيق (الأفضل)</h3>
|
| 61 |
+
<p>
|
| 62 |
+
<span class="badge badge-green">الدقة: 98%+</span>
|
| 63 |
+
<span class="badge badge-red">السرعة: بطيء جداً (20-30 ثانية)</span>
|
| 64 |
+
</p>
|
| 65 |
+
<p>الخيار الأفضل لجودة النص، ولكنه يتطلب صبراً (نموذج Fine-Tashkeel).</p>
|
| 66 |
+
</a>
|
| 67 |
+
""")
|
| 68 |
+
gr.HTML(f"""
|
| 69 |
+
<a href="{BALANCED_URL}" class="card-link" target="_blank">
|
| 70 |
+
<h3>⚡ النموذج المتوازن (الموصى به)</h3>
|
| 71 |
+
<p>
|
| 72 |
+
<span class="badge badge-green">الدقة: 96%</span>
|
| 73 |
+
<span class="badge badge-orange">السرعة: متوسط (10-20 ثانية)</span>
|
| 74 |
+
</p>
|
| 75 |
+
<p>يوازن بشكل ممتاز بين الدقة العالية وسرعة الاستجابة (نموذج Sadeed).</p>
|
| 76 |
+
</a>
|
| 77 |
+
""")
|
| 78 |
+
gr.HTML(f"""
|
| 79 |
+
<a href="{FAST_URL}" class="card-link" target="_blank">
|
| 80 |
+
<h3>💨 النموذج السريع (للتجارب)</h3>
|
| 81 |
+
<p>
|
| 82 |
+
<span class="badge badge-orange">الدقة: 88%</span>
|
| 83 |
+
<span class="badge badge-green">السرعة: سريع (5-10 ثوانٍ)</span>
|
| 84 |
+
</p>
|
| 85 |
+
<p>الأسرع على السيرفر المجاني، لكن دقته مقبولة فقط (نموذج Shakkala).</p>
|
| 86 |
+
</a>
|
| 87 |
+
""")
|
| 88 |
+
|
| 89 |
+
gr.Markdown("## 2. أدوات التدقيق (Proofreading)")
|
| 90 |
+
|
| 91 |
+
with gr.Column():
|
| 92 |
+
gr.HTML(f"""
|
| 93 |
+
<a href="{GRAMMAR_URL}" class="card-link" target="_blank">
|
| 94 |
+
<h3>✍️ مصحح الأخطاء النحوية</h3>
|
| 95 |
+
<p>
|
| 96 |
+
<span class="badge badge-blue">الدقة: 90%</span>
|
| 97 |
+
<span class="badge badge-red">السرعة: بطيء جداً (30-60 ثانية)</span>
|
| 98 |
+
</p>
|
| 99 |
+
<p>يقوم هذا النموذج بتصحيح الأخطاء النحوية والإملائية (نموذج Qalam)، ولكنه ثقيل جداً.</p>
|
| 100 |
+
</a>
|
| 101 |
+
""")
|
| 102 |
+
|
| 103 |
+
demo.launch()
|
requirements.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
gradio
|