yahya1912 commited on
Commit
339347e
·
verified ·
1 Parent(s): 879f02d

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +48 -0
app.py ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from huggingface_hub import InferenceClient
3
+ import json
4
+
5
+ # سنستخدم موديل Qwen لأنه ممتاز جداً في اللهجات العربية والـ JSON
6
+ client = InferenceClient("Qwen/Qwen2.5-72B-Instruct")
7
+
8
+ SYSTEM_PROMPT = """
9
+ أنت محلل ذكي لاستعلامات الخرائط باللغة العربية. مهمتك هي استخراج البيانات بصيغة JSON فقط.
10
+ يجب أن تشمل النتائج:
11
+ - location: المدينة أو الحي.
12
+ - category: نوع المكان (مطعم، كافيه، حديقة..).
13
+ - cuisine: نوع الأكل (سوشي، شاورما..) إن وجد.
14
+ - features: الميزات المطلوبة (هدوء، جلسات خارجية، ألعاب أطفال..).
15
+ - sort_by: طريقة الترتيب المفضلة (تقييم عالي، الأقرب..).
16
+
17
+ أجب بصيغة JSON نقية فقط.
18
+ """
19
+
20
+ def parse_arabic_query(user_query):
21
+ messages = [
22
+ {"role": "system", "content": SYSTEM_PROMPT},
23
+ {"role": "user", "content": user_query}
24
+ ]
25
+
26
+ try:
27
+ response = client.chat.completions.create(
28
+ messages=messages,
29
+ max_tokens=500,
30
+ )
31
+ # استخراج النص وتحويله لـ JSON
32
+ result = response.choices[0].message.content
33
+ return json.loads(result)
34
+ except Exception as e:
35
+ return {"error": "حدث خطأ في التحليل، تأكد من صياغة السؤال بشكل واضح."}
36
+
37
+ # بناء واجهة بسيطة
38
+ with gr.Blocks(theme=gr.themes.Soft()) as demo:
39
+ gr.Markdown("# 🗺️ محلل استعلامات الخرائط العربي (PoC)")
40
+ with gr.Row():
41
+ input_text = gr.Textbox(label="اكتب سؤالك هنا (مثال: أحسن مطعم سوشي في الرياض قعدته هادية)")
42
+
43
+ submit_btn = gr.Button("تحليل القصد (Intent)")
44
+ output_json = gr.JSON(label="النتيجة المستخرجة")
45
+
46
+ submit_btn.click(fn=parse_arabic_query, inputs=input_text, outputs=output_json)
47
+
48
+ demo.launch()