Batnini commited on
Commit
e40ecdd
·
verified ·
1 Parent(s): 07a1614

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -31
app.py CHANGED
@@ -2,8 +2,9 @@ import gradio as gr
2
  from tools.arabic_generator import ArabicTextGenerator
3
  from tools.quran_search import QuranSearchEngine
4
 
 
5
  text_gen = ArabicTextGenerator()
6
- quran_search = QuranSearchEngine()
7
 
8
  def format_quran_results(results):
9
  if not results:
@@ -12,51 +13,42 @@ def format_quran_results(results):
12
  output = []
13
  for r in results:
14
  output.append(f"### سورة {r['surah']} ({r['surah_num']}:{r['ayah_num']})")
15
- output.append(f"**التشابه**: {r['similarity']} \n")
16
- output.append(f"**النص**: {r['text']}")
17
- output.append("\n---\n")
18
  return "\n".join(output)
19
 
20
  with gr.Blocks(theme=gr.themes.Soft()) as app:
21
  gr.Markdown("# <center>منظومة الأدوات العربية</center>")
22
 
23
  with gr.Tab("🖊️ مولد النصوص"):
24
- gr.Markdown("## توليد نصوص عربية ذكية")
25
- with gr.Row():
26
- with gr.Column():
27
- text_input = gr.Textbox(label="النص الأولي", interactive=True)
28
- length_slider = gr.Slider(50, 300, value=100, label="طول النص")
29
- gen_btn = gr.Button("توليد", variant="primary")
30
- text_output = gr.Textbox(label="النص المولد", lines=8)
31
-
32
- gr.Examples(
33
- examples=[["الحمد لله رب العالمين"], ["التعليم في الوطن العربي"], ["قصيدة عن القدس"]],
34
- inputs=text_input
35
- )
36
 
37
  with gr.Tab("📖 البحث القرآني"):
38
  gr.Markdown("## بحث دلالي في القرآن الكريم")
 
39
  with gr.Row():
40
  with gr.Column():
41
- search_input = gr.Textbox(label="موضوع البحث")
42
- top_k = gr.Slider(1, 10, value=3, label="عدد النتائج")
43
  search_btn = gr.Button("ابحث", variant="primary")
44
- search_output = gr.Markdown() # Using Markdown for richer output
45
 
46
- gr.Examples(
47
- examples=[["العدل في الإسلام", 5], ["فضل الصبر", 3], ["الرحمة", 4]],
48
- inputs=[search_input, top_k]
49
- )
50
-
51
- # Event handlers
52
- gen_btn.click(
53
- text_gen.generate,
54
- inputs=[text_input, length_slider],
55
- outputs=text_output
56
- )
57
 
 
58
  search_btn.click(
59
- lambda q,k: format_quran_results(quran_search.search(q,k)),
60
  inputs=[search_input, top_k],
61
  outputs=search_output
62
  )
 
2
  from tools.arabic_generator import ArabicTextGenerator
3
  from tools.quran_search import QuranSearchEngine
4
 
5
+ # Initialize tools
6
  text_gen = ArabicTextGenerator()
7
+ quran_searcher = QuranSearchEngine()
8
 
9
  def format_quran_results(results):
10
  if not results:
 
13
  output = []
14
  for r in results:
15
  output.append(f"### سورة {r['surah']} ({r['surah_num']}:{r['ayah_num']})")
16
+ output.append(f"**التشابه**: {r['similarity']}")
17
+ output.append(f"{r['text']}")
18
+ output.append("---")
19
  return "\n".join(output)
20
 
21
  with gr.Blocks(theme=gr.themes.Soft()) as app:
22
  gr.Markdown("# <center>منظومة الأدوات العربية</center>")
23
 
24
  with gr.Tab("🖊️ مولد النصوص"):
25
+ # ... (keep your existing Arabic generator UI) ...
 
 
 
 
 
 
 
 
 
 
 
26
 
27
  with gr.Tab("📖 البحث القرآني"):
28
  gr.Markdown("## بحث دلالي في القرآن الكريم")
29
+
30
  with gr.Row():
31
  with gr.Column():
32
+ search_input = gr.Textbox(label="موضوع البحث", placeholder="اكتب موضوع البحث هنا...")
33
+ top_k = gr.Slider(1, 10, value=5, step=1, label="عدد النتائج")
34
  search_btn = gr.Button("ابحث", variant="primary")
35
+ search_output = gr.Markdown()
36
 
37
+ # Examples section
38
+ with gr.Accordion("أمثلة بحثية", open=False):
39
+ gr.Examples(
40
+ examples=[
41
+ ["العدل في الإسلام", 5],
42
+ ["فضل الصبر", 3],
43
+ ["الرحمة في القرآن", 4]
44
+ ],
45
+ inputs=[search_input, top_k],
46
+ label="اضغط على مثال لتحميله"
47
+ )
48
 
49
+ # Connect Quran search button
50
  search_btn.click(
51
+ fn=lambda q, k: format_quran_results(quran_searcher.search(q, k)),
52
  inputs=[search_input, top_k],
53
  outputs=search_output
54
  )