Update app.py
Browse files
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)}"
|