waleedmohd commited on
Commit
cd2bc8b
·
verified ·
1 Parent(s): 8bd3a9c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +61 -28
app.py CHANGED
@@ -1,17 +1,49 @@
1
  import gradio as gr
2
  from huggingface_hub import InferenceClient
 
3
 
4
  # Use Arabic-optimized model
5
  client = InferenceClient("aubmindlab/aragpt2-base")
6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  def respond(
8
  message: str,
9
- history: list[list[str]], # Updated format
10
- system_message="أنت مساعد مفيد يتحدث العربية",
11
- max_tokens=512,
12
- temperature=0.7,
13
- top_p=0.95,
14
  ):
 
 
 
 
 
 
 
 
15
  # Force Arabic responses
16
  prompt = f"باللغة العربية: {message}"
17
 
@@ -38,29 +70,30 @@ def respond(
38
  response += chunk
39
  yield response
40
 
41
- # Mobile-optimized Arabic interface
42
- demo = gr.ChatInterface(
43
- respond,
44
- additional_inputs=[
45
- gr.Textbox(value="أنت مساعد عربي مفيد", label="الرسالة النظام"),
46
- gr.Slider(minimum=1, maximum=512, value=256, label="الحد الأقصى للكلمات"),
47
- gr.Slider(minimum=0.1, maximum=1.0, value=0.5, label="الابتكار"),
48
- gr.Slider(minimum=0.1, maximum=1.0, value=0.9, label="الدقة"),
49
- ],
50
- css="""
51
- .gradio-container {direction: rtl;}
52
- textarea {font-family: 'Amiri', serif;}
53
- """,
54
- examples=[
55
- ["ما هو أفضل حل للزراعة في السودان؟"], # Sudan example
56
- ["كيف يمكن تطوير الذكاء الاصطناعي في السعودية؟"] # KSA example
57
- ]
58
- )
 
 
59
 
60
  if __name__ == "__main__":
61
- # Correct launch parameters
62
  demo.launch(
63
- share=True, # Enable shareable link
64
- server_name="0.0.0.0", # Allow external access
65
- server_port=7860 # Default Gradio port
66
- )
 
1
  import gradio as gr
2
  from huggingface_hub import InferenceClient
3
+ import logging # For analytics
4
 
5
  # Use Arabic-optimized model
6
  client = InferenceClient("aubmindlab/aragpt2-base")
7
 
8
+ # Omdurman National Bank-specific guidelines
9
+ ONB_GUIDELINES = {
10
+ "balance": "يمكنك التحقق من رصيدك عبر الإنترنت أو عبر تطبيق الهاتف الخاص ببنك أم درمان الوطني.",
11
+ "lost_card": "في حالة فقدان البطاقة، اتصل بالرقم 249-123-456-789 فورًا.",
12
+ "loan": "شروط القرض تشمل الحد الأدنى للدخل (5000 جنيه سوداني) وتاريخ ائتماني جيد.",
13
+ "transfer": "لتحويل الأموال، استخدم تطبيق الهاتف أو الخدمة المصرفية عبر الإنترنت.",
14
+ "new_account": "لفتح حساب جديد، قم بزيارة أقرب فرع مع جواز سفرك أو هويتك الوطنية.",
15
+ "interest_rates": "أسعار الفائدة على الودائع تتراوح بين 5% إلى 10% سنويًا.",
16
+ "branches": "فروعنا موجودة في أم درمان، الخرطوم، وبورتسودان. زيارة موقعنا للتفاصيل.",
17
+ "working_hours": "ساعات العمل من 8 صباحًا إلى 3 مساءً من الأحد إلى الخميس.",
18
+ "contact": "الاتصال بنا على الرقم 249-123-456-789 أو عبر البريد الإلكتروني [email protected]."
19
+ }
20
+
21
+ # Sudanese dialect examples
22
+ SUDANESE_EXAMPLES = {
23
+ "أزهريتك؟": "أهلاً وسهلاً! كيف يمكنني مساعدتك اليوم؟",
24
+ "شبيك؟": "أنا بخير، شكراً! كيف يمكنني مساعدتك؟",
25
+ "فين الفرع؟": "أقرب فرع موجود في أم درمان، الخرطوم، وبورتسودان."
26
+ }
27
+
28
+ # Set up logging for analytics
29
+ logging.basicConfig(filename='chatbot_queries.log', level=logging.INFO)
30
+
31
  def respond(
32
  message: str,
33
+ history: list[list[str]],
34
+ system_message="أنت مساعد مصرفي لبنك أم درمان الوطني. قدم معلومات عامة فقط.",
35
+ max_tokens=256,
36
+ temperature=0.5,
37
+ top_p=0.9,
38
  ):
39
+ # Log the query
40
+ logging.info(f"Query: {message}")
41
+
42
+ # Check for Sudanese dialect phrases
43
+ if message in SUDANESE_EXAMPLES:
44
+ yield SUDANESE_EXAMPLES[message]
45
+ return
46
+
47
  # Force Arabic responses
48
  prompt = f"باللغة العربية: {message}"
49
 
 
70
  response += chunk
71
  yield response
72
 
73
+ # Omdurman National Bank-specific interface
74
+ with gr.Blocks(css=".gradio-container {direction: rtl;}") as demo:
75
+ gr.Markdown("# <center>بنك أم درمان الوطني - المساعد المصرفي</center>")
76
+
77
+ with gr.Tab("المحادثة"):
78
+ chatbot = gr.ChatInterface(
79
+ respond,
80
+ examples=[
81
+ "كيف يمكنني التحقق من رصيدي؟", # Check balance
82
+ "أريد الإبلاغ عن فقدان بطاقتي", # Report lost card
83
+ "ما هي شروط الحصول على قرض؟", # Loan eligibility
84
+ "ما هي ساعات العمل؟", # Working hours
85
+ "أين يوجد أقرب فرع؟" # Branch locations
86
+ ]
87
+ )
88
+
89
+ with gr.Tab("الإرشادات المصرفية"):
90
+ gr.Markdown("## إرشادات بنك أم درمان الوطني")
91
+ for key, value in ONB_GUIDELINES.items():
92
+ gr.Markdown(f"**{key.capitalize()}**: {value}")
93
 
94
  if __name__ == "__main__":
 
95
  demo.launch(
96
+ server_name="0.0.0.0",
97
+ server_port=7860,
98
+ share=True # Enable public link
99
+ )