AhmedBenElsayedBenAhmed commited on
Commit
4071046
·
1 Parent(s): 107a5c6

Merge branch 'Ai' into main

Browse files
Files changed (1) hide show
  1. app.py +34 -6
app.py CHANGED
@@ -15,13 +15,18 @@ from datasets import Dataset
15
  # ===============================
16
  # 2️⃣ إعداد المتغيرات
17
  # ===============================
 
18
  MODEL_NAME = "Qwen/Qwen2.5-0.5B-Instruct"
19
- FLASK_PORT = 7860 # 🚨 Hugging Face Spaces يشتغل على 7860
20
- SAVE_DIR = "./lora_model"
21
- DATA_DIR = "./data"
 
22
  os.makedirs(DATA_DIR, exist_ok=True)
 
 
23
  DATASET_FILE = os.path.join(DATA_DIR, "dataset.json")
24
 
 
25
  # ===============================
26
  # 3️⃣ تحميل الموديل الأساسي
27
  # ===============================
@@ -73,6 +78,15 @@ CORS(app)
73
  trainer = None
74
  current_dataset = None
75
 
 
 
 
 
 
 
 
 
 
76
  # ===============================
77
  # 5a️⃣ توليد نصوص (generate)
78
  # ===============================
@@ -81,18 +95,27 @@ def generate():
81
  try:
82
  data = request.json
83
  prompt = data.get("prompt", "").strip()
 
 
 
 
 
 
 
 
84
 
 
85
  if current_dataset is None:
86
  return jsonify({
87
  "messages": [
88
  {
89
  "role": "assistant",
90
- "content": "⚖️ أنا زين، مساعد ذكي للاستشارات القانونية. برجاء طرح سؤال قانوني."
91
  }
92
  ]
93
  })
94
 
95
- # البحث في الداتا
96
  for item in current_dataset:
97
  lines = item["text"].split("\n")
98
  for line in lines:
@@ -105,6 +128,11 @@ def generate():
105
  "role": role.strip().lower(),
106
  "content": content.strip()
107
  })
 
 
 
 
 
108
  return jsonify({"messages": response_messages})
109
 
110
  # 🟡 fallback (لو مفيش في الداتا)
@@ -119,6 +147,7 @@ def generate():
119
 
120
  return jsonify({
121
  "messages": [
 
122
  {"role": "assistant", "content": reply}
123
  ]
124
  })
@@ -129,7 +158,6 @@ def generate():
129
  {"role": "assistant", "content": f"خطأ: {str(e)}"}
130
  ]
131
  })
132
-
133
  # ===============================
134
  # 🟢 تحميل الداتا من الملف عند البداية
135
  # ===============================
 
15
  # ===============================
16
  # 2️⃣ إعداد المتغيرات
17
  # ===============================
18
+
19
  MODEL_NAME = "Qwen/Qwen2.5-0.5B-Instruct"
20
+ FLASK_PORT = 7860
21
+
22
+ SAVE_DIR = "/tmp/lora_model"
23
+ DATA_DIR = "/tmp/data"
24
  os.makedirs(DATA_DIR, exist_ok=True)
25
+ os.makedirs(SAVE_DIR, exist_ok=True)
26
+
27
  DATASET_FILE = os.path.join(DATA_DIR, "dataset.json")
28
 
29
+
30
  # ===============================
31
  # 3️⃣ تحميل الموديل الأساسي
32
  # ===============================
 
78
  trainer = None
79
  current_dataset = None
80
 
81
+ # ===============================
82
+ # Fake Database (مؤقت للتجربة)
83
+ # ===============================
84
+ users_db = {
85
+ "1": {"name": "Ahmed Elsayed", "role": "Student"},
86
+ "2": {"name": "Mona Ali", "role": "Lawyer"},
87
+ "3": {"name": "Omar Hassan", "role": "Client"}
88
+ }
89
+
90
  # ===============================
91
  # 5a️⃣ توليد نصوص (generate)
92
  # ===============================
 
95
  try:
96
  data = request.json
97
  prompt = data.get("prompt", "").strip()
98
+ user_id = str(data.get("userId", "")).strip()
99
+
100
+ # 🔍 التحقق من المستخدم
101
+ user_info = users_db.get(user_id)
102
+ if not user_info:
103
+ return jsonify({"error": "User not found"}), 404
104
+
105
+ user_name = user_info["name"]
106
 
107
+ # 📌 لو مفيش داتا حالياً
108
  if current_dataset is None:
109
  return jsonify({
110
  "messages": [
111
  {
112
  "role": "assistant",
113
+ "content": f"⚖️ أهلاً {user_name}! أنا زين، مساعدك الذكي. برجاء طرح سؤال قانوني."
114
  }
115
  ]
116
  })
117
 
118
+ # 🔎 البحث في الداتا
119
  for item in current_dataset:
120
  lines = item["text"].split("\n")
121
  for line in lines:
 
128
  "role": role.strip().lower(),
129
  "content": content.strip()
130
  })
131
+ # 📌 إضافة اسم المستخدم في البداية
132
+ response_messages.insert(0, {
133
+ "role": "assistant",
134
+ "content": f"أهلاً {user_name} 👋"
135
+ })
136
  return jsonify({"messages": response_messages})
137
 
138
  # 🟡 fallback (لو مفيش في الداتا)
 
147
 
148
  return jsonify({
149
  "messages": [
150
+ {"role": "assistant", "content": f"أهلاً {user_name} 👋"},
151
  {"role": "assistant", "content": reply}
152
  ]
153
  })
 
158
  {"role": "assistant", "content": f"خطأ: {str(e)}"}
159
  ]
160
  })
 
161
  # ===============================
162
  # 🟢 تحميل الداتا من الملف عند البداية
163
  # ===============================