codeBOKER commited on
Commit
89a98b8
·
1 Parent(s): e9bfcb7

Fix: remove bold/italic regex stripping Arabic text, add debug logging for payload and AI responses

Browse files
Files changed (2) hide show
  1. ai_service.py +3 -7
  2. telegram_handlers.py +3 -0
ai_service.py CHANGED
@@ -10,17 +10,11 @@ MODEL_NAME = HF_MODEL
10
  def clean_ai_response(text: str):
11
  if not text: return ""
12
  text = re.sub(r'<think>.*?</think>', '', text, flags=re.DOTALL)
13
- # Remove HTML tags
14
  text = re.sub(r'<br\s*/?>', '\n', text)
15
  text = re.sub(r'<[^>]+>', '', text)
16
- # Remove markdown tables (lines that start and end with |)
17
  text = re.sub(r'^\|.*\|\s*$', '', text, flags=re.MULTILINE)
18
  text = re.sub(r'^[\s|:-]+$', '', text, flags=re.MULTILINE)
19
- # Remove markdown bold/italic
20
- text = re.sub(r'[*_]{1,3}(.*?)[*_]{1,3}', r'\1', text)
21
- # Remove markdown headers
22
  text = re.sub(r'^#{1,6}\s*', '', text, flags=re.MULTILINE)
23
- # Clean up extra blank lines
24
  text = re.sub(r'\n{3,}', '\n\n', text)
25
  return text.strip()
26
 
@@ -105,7 +99,9 @@ async def get_ai_response(user_query: str, telegram_id: int):
105
  completion = await loop.run_in_executor(None, lambda: call_hf(messages))
106
  response_message = completion.choices[0].message
107
 
108
- final_response = clean_ai_response(response_message.content)
 
 
109
 
110
  if db_manager:
111
  db_manager.save_message(telegram_id, user_query, "user")
 
10
  def clean_ai_response(text: str):
11
  if not text: return ""
12
  text = re.sub(r'<think>.*?</think>', '', text, flags=re.DOTALL)
 
13
  text = re.sub(r'<br\s*/?>', '\n', text)
14
  text = re.sub(r'<[^>]+>', '', text)
 
15
  text = re.sub(r'^\|.*\|\s*$', '', text, flags=re.MULTILINE)
16
  text = re.sub(r'^[\s|:-]+$', '', text, flags=re.MULTILINE)
 
 
 
17
  text = re.sub(r'^#{1,6}\s*', '', text, flags=re.MULTILINE)
 
18
  text = re.sub(r'\n{3,}', '\n\n', text)
19
  return text.strip()
20
 
 
99
  completion = await loop.run_in_executor(None, lambda: call_hf(messages))
100
  response_message = completion.choices[0].message
101
 
102
+ final_response = clean_ai_response(response_message.content if response_message.content else "")
103
+ print(f"--- AI Raw Response: {repr(response_message.content)} ---")
104
+ print(f"--- AI Final Response: {repr(final_response)} ---")
105
 
106
  if db_manager:
107
  db_manager.save_message(telegram_id, user_query, "user")
telegram_handlers.py CHANGED
@@ -51,6 +51,8 @@ async def telegram_webhook(data: WebhookData):
51
  "text": ai_answer or "Sorry, I couldn't generate a response. Please try again."
52
  }
53
 
 
 
54
  try:
55
  response = await client.post(TELEGRAM_URL, json=payload)
56
  except Exception as dns_err:
@@ -68,6 +70,7 @@ async def telegram_webhook(data: WebhookData):
68
  if response.status_code == 200:
69
  print(f"--- Success: Message delivered via Direct IP Pipeline ---")
70
  else:
 
71
  print(f"--- Telegram Rejected Request: {response.status_code} - {response.text} ---")
72
 
73
  except Exception as send_error:
 
51
  "text": ai_answer or "Sorry, I couldn't generate a response. Please try again."
52
  }
53
 
54
+ print(f"--- Payload being sent: {payload} ---")
55
+
56
  try:
57
  response = await client.post(TELEGRAM_URL, json=payload)
58
  except Exception as dns_err:
 
70
  if response.status_code == 200:
71
  print(f"--- Success: Message delivered via Direct IP Pipeline ---")
72
  else:
73
+ print(f"--- Payload: {payload} ---")
74
  print(f"--- Telegram Rejected Request: {response.status_code} - {response.text} ---")
75
 
76
  except Exception as send_error: