EngReem85 commited on
Commit
ea900c3
·
verified ·
1 Parent(s): 44360ad

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +42 -28
app.py CHANGED
@@ -1,57 +1,71 @@
1
  import gradio as gr
2
- import random
3
  from transformers import pipeline
 
 
 
 
 
 
 
4
 
5
- # نموذج عربي فعلي (GPT2)
6
- generator = pipeline(
7
  "text-generation",
8
  model="akhooli/gpt2-small-arabic-poetry"
9
  )
10
 
11
- def inspire(future, value, skill):
12
  if not future or not value or not skill:
13
  return "⚠️ رجاءً أجيبي على جميع الأسئلة أولاً."
14
 
15
- prompt = (
16
- f"اكتب جملة قصيرة وملهمة بالعربية تصف مستقبل شخص يريد {future}، "
 
17
  f"ويؤمن بـ {value}، ويمتلك مهارة {skill}. "
18
- "لتكن الجملة شاعرية، مفعمة بالأمل، وفيها لمسة إنسانية وجمال."
19
  )
20
 
21
  try:
22
- result = generator(prompt, max_new_tokens=60, temperature=1.1, top_p=0.95)
23
- text = result[0]["generated_text"].strip()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
 
25
  # تنظيف المخرجات
26
- if text.startswith(prompt):
27
- text = text[len(prompt):].strip()
28
- text = text.replace("\n", " ").split(".")[0].strip()
29
-
30
- # fallback ذكي
31
- fallbacks = [
32
- "تمضي بخطواتٍ من ضوء، تصنع أثرها بين الحلم والإصرار.",
33
- "تزهرُ رؤيتها كفجرٍ يعلن ولادة أملٍ جديد.",
34
- "تسافر بثقةٍ إلى الغد، تحمل في قلبها نبض الطموح.",
35
- "تكتب حكايتها بين الإبداع والعزيمة، لتضيء الطريق للآخرين."
36
- ]
37
- if not text or len(text) < 10:
38
- text = random.choice(fallbacks)
39
-
40
- return text
41
 
42
  except Exception as e:
43
  return f"⚠️ حدث خطأ أثناء التوليد: {e}"
44
 
 
45
  demo = gr.Interface(
46
- fn=inspire,
47
  inputs=[
48
  gr.Textbox(label="🎯 حلمك المستقبلي"),
49
  gr.Textbox(label="💡 الأثر الذي تريدين تركه"),
50
  gr.Textbox(label="⚙️ مهارتك المميزة"),
51
  ],
52
- outputs=gr.Textbox(label="🌟 رؤيتك المستقبلية الشاعرية", lines=3),
53
- title="ذكاء يصمم مستقبلك بإحساس إنساني وشاعري 💫",
54
- description="أجيبي على الأسئلة الثلاثة ودعي الذكاء الاصطناعي يكتب لك جملة تلهمك وتعبّر عنك. 🌷",
55
  theme="soft"
56
  )
57
 
 
1
  import gradio as gr
 
2
  from transformers import pipeline
3
+ import random
4
+
5
+ # المرحلة 1: توليد جملة بسيطة بالعربية (منطقية وملهمة)
6
+ base_generator = pipeline(
7
+ "text2text-generation",
8
+ model="google/flan-t5-small" # يمكن تغييره لاحقًا لنموذج عربي
9
+ )
10
 
11
+ # المرحلة 2: تحويل الجملة إلى أسلوب شعري
12
+ poetry_generator = pipeline(
13
  "text-generation",
14
  model="akhooli/gpt2-small-arabic-poetry"
15
  )
16
 
17
+ def dual_inspire(future, value, skill):
18
  if not future or not value or not skill:
19
  return "⚠️ رجاءً أجيبي على جميع الأسئلة أولاً."
20
 
21
+ # المرحلة الأولى: توليد فكرة أساسية
22
+ idea_prompt = (
23
+ f"اكتب جملة قصيرة بالعربية تصف مستقبل شخص يريد {future}، "
24
  f"ويؤمن بـ {value}، ويمتلك مهارة {skill}. "
25
+ "لتكن بسيطة، مفهومة، وتلهم القارئ."
26
  )
27
 
28
  try:
29
+ idea_result = base_generator(idea_prompt, max_new_tokens=40)
30
+ idea_text = idea_result[0]["generated_text"].strip()
31
+ if not idea_text or len(idea_text) < 10:
32
+ idea_text = "تمضي نحو غدٍ تصنع فيه أثرًا من ضوءٍ وإصرار."
33
+
34
+ # المرحلة الثانية: تحويل الجملة إلى شعر
35
+ poetry_prompt = (
36
+ f"حوّل الجملة التالية إلى بيت أو سطر شعري جميل بالعربية: {idea_text}"
37
+ )
38
+
39
+ poetic_result = poetry_generator(
40
+ poetry_prompt,
41
+ max_new_tokens=60,
42
+ temperature=1.2,
43
+ top_p=0.95
44
+ )
45
+ poetic_text = poetic_result[0]["generated_text"].strip()
46
 
47
  # تنظيف المخرجات
48
+ if poetic_text.startswith(poetry_prompt):
49
+ poetic_text = poetic_text[len(poetry_prompt):].strip()
50
+
51
+ poetic_text = poetic_text.replace("\n", " ").split(".")[0].strip()
52
+
53
+ return f"🌱 الجملة الأساسية:\n{idea_text}\n\n🎨 النسخة الشاعرية:\n{poetic_text}"
 
 
 
 
 
 
 
 
 
54
 
55
  except Exception as e:
56
  return f"⚠️ حدث خطأ أثناء التوليد: {e}"
57
 
58
+ # واجهة Gradio
59
  demo = gr.Interface(
60
+ fn=dual_inspire,
61
  inputs=[
62
  gr.Textbox(label="🎯 حلمك المستقبلي"),
63
  gr.Textbox(label="💡 الأثر الذي تريدين تركه"),
64
  gr.Textbox(label="⚙️ مهارتك المميزة"),
65
  ],
66
+ outputs=gr.Textbox(label="🌟 الجملة النهائية (عقل + شعر)", lines=6),
67
+ title="ثنائية الإلهام من الفكرة إلى الشعر 💫",
68
+ description="الذكاء الاصطناعي يصيغ لك فكرة تلهم المستقبل، ثم يحولها إلى شعر نابض بالحياة. ",
69
  theme="soft"
70
  )
71