anaspro commited on
Commit
df118c2
·
verified ·
1 Parent(s): b025004

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -11
app.py CHANGED
@@ -3,6 +3,15 @@ import torch
3
  import gradio as gr
4
  import spaces
5
  from threading import Thread
 
 
 
 
 
 
 
 
 
6
 
7
  # ======================================================
8
  # إعدادات الموديل
@@ -51,7 +60,6 @@ print("✅ Model ready!\n")
51
  # دالة المحادثة
52
  # ======================================================
53
  def chat(message, history):
54
- # تحويل تاريخ المحادثة إلى صيغة messages
55
  messages = []
56
  for msg in history:
57
  if msg["role"] == "user":
@@ -59,17 +67,14 @@ def chat(message, history):
59
  elif msg["role"] == "assistant":
60
  messages.append({"role": "assistant", "content": msg["content"]})
61
 
62
- # نضيف السؤال الحالي مع system prompt
63
  messages.append({"role": "user", "content": f"{SYSTEM_PROMPT}\n\nالسؤال: {message}"})
64
 
65
- # تجهيز الإدخال عبر chat template
66
  input_ids = tokenizer.apply_chat_template(
67
  messages,
68
  return_tensors="pt",
69
  add_generation_prompt=True
70
  ).to(model.device)
71
 
72
- # Streamer للبث الحي للنص الناتج
73
  streamer = TextIteratorStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
74
 
75
  generation_kwargs = dict(
@@ -82,7 +87,6 @@ def chat(message, history):
82
  repetition_penalty=1.15,
83
  )
84
 
85
- # تشغيل التوليد في Thread منفصل للبث المباشر
86
  thread = Thread(target=model.generate, kwargs=generation_kwargs)
87
  thread.start()
88
 
@@ -100,18 +104,18 @@ def chat(message, history):
100
  demo = gr.ChatInterface(
101
  fn=chat,
102
  type="messages",
103
- title="🇮🇶 Gemma 3 4B – Iraqi Arabic Chat",
104
  description="""
105
- **نموذج Gemma 3 4B Instruct (Unsloth Optimized)**
106
- مدرّب على العربية والفصحى ومهيّأ للحوار باللهجة العراقية 🇮🇶
107
 
108
- 🧠 أمثلة جاهزة:
109
- - "شنو معنى إنكار معقول؟"
110
  - "اشرحلي شنو يعني تصعيد إداري"
111
  - "وضحلي الفرق بين الدليل والعبرة"
112
  """,
113
  examples=[
114
- ["شنو معنى إنكار معقول؟"],
115
  ["اشرحلي شنو يعني تصعيد إداري"],
116
  ["وضحلي الفرق بين الدليل والعبرة"],
117
  ],
 
3
  import gradio as gr
4
  import spaces
5
  from threading import Thread
6
+ from huggingface_hub import login
7
+ import os
8
+
9
+ # ======================================================
10
+ # تسجيل الدخول في حال كان الموديل خاص (اختياري)
11
+ # ======================================================
12
+ if os.getenv("HF_TOKEN"):
13
+ login(token=os.getenv("HF_TOKEN"))
14
+ print("🔐 Logged in to Hugging Face Hub")
15
 
16
  # ======================================================
17
  # إعدادات الموديل
 
60
  # دالة المحادثة
61
  # ======================================================
62
  def chat(message, history):
 
63
  messages = []
64
  for msg in history:
65
  if msg["role"] == "user":
 
67
  elif msg["role"] == "assistant":
68
  messages.append({"role": "assistant", "content": msg["content"]})
69
 
 
70
  messages.append({"role": "user", "content": f"{SYSTEM_PROMPT}\n\nالسؤال: {message}"})
71
 
 
72
  input_ids = tokenizer.apply_chat_template(
73
  messages,
74
  return_tensors="pt",
75
  add_generation_prompt=True
76
  ).to(model.device)
77
 
 
78
  streamer = TextIteratorStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
79
 
80
  generation_kwargs = dict(
 
87
  repetition_penalty=1.15,
88
  )
89
 
 
90
  thread = Thread(target=model.generate, kwargs=generation_kwargs)
91
  thread.start()
92
 
 
104
  demo = gr.ChatInterface(
105
  fn=chat,
106
  type="messages",
107
+ title="🇮🇶 Gemma 3 Iraqi Chat",
108
  description="""
109
+ **نموذج Gemma 3 4B باللهجة العراقية 🇮🇶**
110
+ مدرّب ومهيّأ للحوار بالعربية والفصحى، يفهم السياق ويتكلم بوضوح.
111
 
112
+ 🧠 أمثلة:
113
+ - "شلونك اليوم؟"
114
  - "اشرحلي شنو يعني تصعيد إداري"
115
  - "وضحلي الفرق بين الدليل والعبرة"
116
  """,
117
  examples=[
118
+ ["شلونك اليوم؟"],
119
  ["اشرحلي شنو يعني تصعيد إداري"],
120
  ["وضحلي الفرق بين الدليل والعبرة"],
121
  ],