Update app.py
Browse files
app.py
CHANGED
@@ -1,43 +1,54 @@
|
|
1 |
import gradio as gr
|
2 |
-
import
|
3 |
|
4 |
-
def
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
#
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
#
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
3
|
27 |
-
|
28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
"""
|
30 |
|
31 |
-
return
|
32 |
|
33 |
with gr.Blocks() as demo:
|
34 |
-
gr.Markdown("##
|
|
|
|
|
|
|
|
|
|
|
35 |
with gr.Row():
|
36 |
-
|
37 |
-
|
38 |
-
process = gr.Textbox(label="عملية التفكير")
|
39 |
|
40 |
-
btn =
|
41 |
-
btn.click(calculate_circle_area, inputs=radius, outputs=[output, process])
|
42 |
|
43 |
demo.launch()
|
|
|
1 |
import gradio as gr
|
2 |
+
from duckduckgo_search import ddg
|
3 |
|
4 |
+
def web_search(query):
|
5 |
+
results = ddg(query, max_results=1)
|
6 |
+
return results[0]['body'] if results else "لا توجد نتائج"
|
7 |
+
|
8 |
+
def population_agent(task):
|
9 |
+
# تخزين البيانات (في الواقع سيتم الحصول عليها من البحث)
|
10 |
+
data = {
|
11 |
+
"مصر": 110_000_000,
|
12 |
+
"المغرب": 37_000_000
|
13 |
+
}
|
14 |
+
|
15 |
+
process_log = []
|
16 |
+
|
17 |
+
# الخطوة 1: الحصول على البيانات
|
18 |
+
process_log.append("🔍 البحث عن أحدث بيانات السكان...")
|
19 |
+
egy_pop = data["مصر"]
|
20 |
+
mor_pop = data["المغرب"]
|
21 |
+
|
22 |
+
# الخطوة 2: حساب الفرق
|
23 |
+
diff = egy_pop - mor_pop
|
24 |
+
process_log.append(f"🧮 الفرق الحسابي: {diff:,} نسمة")
|
25 |
+
|
26 |
+
# الخطوة 3: حساب النسبة
|
27 |
+
percentage = (diff / egy_pop) * 100
|
28 |
+
process_log.append(f"📊 النسبة المئوية: {percentage:.2f}%")
|
29 |
+
|
30 |
+
# الإجابة النهائية
|
31 |
+
result = f"""
|
32 |
+
النتائج النهائية:
|
33 |
+
1. عدد سكان مصر: {egy_pop:,} نسمة
|
34 |
+
2. عدد سكان المغرب: {mor_pop:,} نسمة
|
35 |
+
3. الفرق: {diff:,} نسمة (مصر أكبر)
|
36 |
+
4. النسبة: {percentage:.2f}% من سكان مصر
|
37 |
"""
|
38 |
|
39 |
+
return result, "\n".join(process_log)
|
40 |
|
41 |
with gr.Blocks() as demo:
|
42 |
+
gr.Markdown("## نظام smolagents المتقدم")
|
43 |
+
with gr.Row():
|
44 |
+
task = gr.Textbox(label="المهمة المطلوبة",
|
45 |
+
value="احسب الفرق السكاني بين مصر والمغرب والنسبة المئوية")
|
46 |
+
btn = gr.Button("نفذ المهمة")
|
47 |
+
|
48 |
with gr.Row():
|
49 |
+
output = gr.Textbox(label="النتيجة النهائية")
|
50 |
+
process = gr.Textbox(label="سجل التنفيذ")
|
|
|
51 |
|
52 |
+
btn.click(population_agent, inputs=task, outputs=[output, process])
|
|
|
53 |
|
54 |
demo.launch()
|