thomson99 commited on
Commit
dddf74f
·
verified ·
1 Parent(s): 0857983

Upload 4 files

Browse files
Files changed (3) hide show
  1. README.md +27 -10
  2. app.py +90 -0
  3. requirements.txt +1 -1
README.md CHANGED
@@ -1,3 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  # مساعد كتابة المقالات العربية (Arabic Article Assistant)
2
 
3
  هذا المشروع عبارة عن مساعد ذكي لكتابة المقالات باللغة العربية. يساعد المستخدمين في:
@@ -12,17 +25,21 @@
12
  pip install -r requirements.txt
13
  ```
14
 
15
- ## كيفية التشغيل
16
-
17
- 1. قم بتثبيت المتطلبات
18
- 2. شغل السيرفر المحلي:
19
- ```bash
20
- uvicorn main:app --reload
21
- ```
22
- 3. افتح المتصفح على العنوان: http://localhost:8000
23
-
24
  ## الميزات
25
- - واجهة برمجة تطبيقات RESTful
26
  - دعم كامل للغة العربية
27
  - اقتراحات ذكية للمحتوى
28
  - تحسين تلقائي للأسلوب
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Arabic Article Assistant
3
+ emoji: 📝
4
+ colorFrom: green
5
+ colorTo: blue
6
+ sdk: gradio
7
+ sdk_version: "3.50.2"
8
+ app_file: app.py
9
+ pinned: false
10
+ ---
11
+
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
13
+
14
  # مساعد كتابة المقالات العربية (Arabic Article Assistant)
15
 
16
  هذا المشروع عبارة عن مساعد ذكي لكتابة المقالات باللغة العربية. يساعد المستخدمين في:
 
25
  pip install -r requirements.txt
26
  ```
27
 
 
 
 
 
 
 
 
 
 
28
  ## الميزات
29
+ - واجهة مستخدم سهلة الاستخدام باستخدام Gradio
30
  - دعم كامل للغة العربية
31
  - اقتراحات ذكية للمحتوى
32
  - تحسين تلقائي للأسلوب
33
+
34
+ ## كيفية الاستخدام
35
+ 1. أدخل موضوع المقال
36
+ 2. اختر نوع المقال (أكاديمي، صحفي، إلخ)
37
+ 3. حدد طول المقال المطلوب
38
+ 4. اضغط على "توليد الهيكل" للحصول على هيكل المقال
39
+ 5. استخدم خيار "تحسين الأسلوب" لتحسين الصياغة
40
+
41
+ ## المساهمة
42
+ نرحب بمساهماتكم! يرجى:
43
+ 1. عمل Fork للمشروع
44
+ 2. إنشاء فرع جديد للميزة
45
+ 3. تقديم Pull Request
app.py ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from transformers import pipeline, AutoModelForCausalLM, AutoTokenizer
3
+ import torch
4
+
5
+ def generate_outline(topic, article_type, length):
6
+ """
7
+ توليد هيكل المقال بناءً على الموضوع ونوع المقال وطوله
8
+ """
9
+ # سيتم تحسين هذه الوظيفة لاحقاً باستخدام نموذج مدرب
10
+ sections = {
11
+ "short": 3,
12
+ "medium": 5,
13
+ "long": 7
14
+ }
15
+
16
+ num_sections = sections.get(length, 3)
17
+
18
+ if article_type == "أكاديمي":
19
+ outline = [
20
+ "مقدمة وخلفية نظرية",
21
+ "مراجعة الأدبيات",
22
+ "المنهجية",
23
+ "النتائج والمناقشة",
24
+ "الخاتمة والتوصيات"
25
+ ][:num_sections]
26
+ else:
27
+ outline = [
28
+ "مقدمة جذابة",
29
+ "عرض الفكرة الرئيسية",
30
+ "التفاصيل والأمثلة",
31
+ "وجهات النظر المختلفة",
32
+ "الخاتمة"
33
+ ][:num_sections]
34
+
35
+ return "\n".join([f"{i+1}. {section}" for i, section in enumerate(outline)])
36
+
37
+ def improve_style(text):
38
+ """
39
+ تحسين أسلوب النص وتقديم اقتراحات
40
+ """
41
+ # سيتم تحسين هذه الوظيفة لاحقاً باستخدام نموذج مدرب
42
+ suggestions = [
43
+ "حاول استخدام جمل أقصر وأكثر وضوحاً",
44
+ "تجنب تكرار الكلمات",
45
+ "استخدم روابط منطقية بين الفقرات",
46
+ "أضف أمثلة توضيحية",
47
+ ]
48
+
49
+ return "\n".join(suggestions)
50
+
51
+ # إنشاء واجهة المستخدم
52
+ with gr.Blocks(title="مساعد كتابة المقالات العربية") as demo:
53
+ gr.Markdown("# مساعد كتابة المقالات العربية 📝")
54
+
55
+ with gr.Tab("توليد هيكل المقال"):
56
+ with gr.Row():
57
+ topic_input = gr.Textbox(label="موضوع المقال")
58
+ article_type = gr.Dropdown(
59
+ choices=["أكاديمي", "صحفي", "مدونة"],
60
+ label="نوع المقال",
61
+ value="أكاديمي"
62
+ )
63
+ length = gr.Dropdown(
64
+ choices=["short", "medium", "long"],
65
+ label="طول المقال",
66
+ value="medium"
67
+ )
68
+ generate_btn = gr.Button("توليد الهيكل")
69
+ outline_output = gr.Textbox(label="هيكل المقال", lines=10)
70
+
71
+ with gr.Tab("تحسين الأسلوب"):
72
+ text_input = gr.Textbox(label="النص المراد تحسينه", lines=5)
73
+ improve_btn = gr.Button("تحسين الأسلوب")
74
+ suggestions_output = gr.Textbox(label="الاقتراحات", lines=5)
75
+
76
+ # ربط الأزرار بالوظائف
77
+ generate_btn.click(
78
+ generate_outline,
79
+ inputs=[topic_input, article_type, length],
80
+ outputs=outline_output
81
+ )
82
+
83
+ improve_btn.click(
84
+ improve_style,
85
+ inputs=[text_input],
86
+ outputs=suggestions_output
87
+ )
88
+
89
+ if __name__ == "__main__":
90
+ demo.launch()
requirements.txt CHANGED
@@ -1,6 +1,6 @@
1
  transformers==4.35.2
2
  torch==2.1.1
3
- fastapi==0.104.1
4
  uvicorn==0.24.0
5
  python-dotenv==1.0.0
6
  pydantic==2.5.2
 
1
  transformers==4.35.2
2
  torch==2.1.1
3
+ gradio==3.50.2
4
  uvicorn==0.24.0
5
  python-dotenv==1.0.0
6
  pydantic==2.5.2