FrostIce commited on
Commit
bfb5463
·
verified ·
1 Parent(s): 83f3b9d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -1
app.py CHANGED
@@ -4,6 +4,27 @@ from g4f.client import Client
4
 
5
  client = Client()
6
  # --- Обработчик диалога ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  # -------------------------------------------------------------
8
  # 1️⃣ Преобразуем любой ответ модели в булево значение
9
  # -------------------------------------------------------------
@@ -149,7 +170,7 @@ def respond(message, history):
149
 
150
 
151
  )
152
- bot_message = f"{responsed.choices[0].message.content}"
153
 
154
  except Exception as e:
155
  bot_message = f"Ошибка: {str(e)}"
 
4
 
5
  client = Client()
6
  # --- Обработчик диалога ---
7
+ import re
8
+ from typing import List, Tuple, Any
9
+
10
+ def strip_citations(text: str) -> str:
11
+ """
12
+ Удаляет из текста все строки вида:
13
+ > [0] … (ссылка)
14
+ [1] … (ссылка)
15
+ а также любые блоки, начинающиеся с символа '>' (цитаты).
16
+ Возвращает «чистый» текст без «концовки».
17
+ """
18
+ # 1️⃣ Убираем строки, начинающиеся с '>' (включая возможный пробел после него)
19
+ text = re.sub(r'^\s*>.*(?:\n|$)', '', text, flags=re.MULTILINE)
20
+
21
+ # 2️⃣ Удаляем строки вида '[0] https://…' (любое число в квадратных скобках)
22
+ text = re.sub(r'^\s*\[\d+\]\s*.+(?:\n|$)', '', text, flags=re.MULTILINE)
23
+
24
+ # 3️⃣ Убираем лишние пустые строки, оставшиеся после вырезания
25
+ text = re.sub(r'\n{2,}', '\n\n', text).strip()
26
+ return text
27
+
28
  # -------------------------------------------------------------
29
  # 1️⃣ Преобразуем любой ответ модели в булево значение
30
  # -------------------------------------------------------------
 
170
 
171
 
172
  )
173
+ bot_message = strip_citations(f"{responsed.choices[0].message.content}")
174
 
175
  except Exception as e:
176
  bot_message = f"Ошибка: {str(e)}"