fruitpicker01 commited on
Commit
763e886
1 Parent(s): f1b40fb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -2
app.py CHANGED
@@ -95,7 +95,20 @@ def replace_k_with_thousands(message):
95
  # Замена и для 'k' и для 'К', с учётом регистра
96
  message = re.sub(r'(\d+)[kкКK]', r'\1 000', message, flags=re.IGNORECASE)
97
  return message
98
-
 
 
 
 
 
 
 
 
 
 
 
 
 
99
  # Функция для добавления ошибок в промпт для перегенерации
100
  def append_errors_to_prompt(prompt, checks):
101
  errors = []
@@ -145,6 +158,8 @@ def generate_message_gigachat_pro_with_retry(prompt):
145
 
146
  # Генерация сообщения
147
  message = generate_message_gigachat_pro(prompt)
 
 
148
  message_length = len(message)
149
 
150
  # Проверка длины сообщения. Если не проходит, сразу перегенерируем
@@ -154,7 +169,6 @@ def generate_message_gigachat_pro_with_retry(prompt):
154
  continue
155
 
156
  # Выполняем замены и проверки
157
- message = replace_k_with_thousands(message)
158
  checks = perform_checks(message)
159
 
160
  # Обновляем последнее сообщение
 
95
  # Замена и для 'k' и для 'К', с учётом регистра
96
  message = re.sub(r'(\d+)[kкКK]', r'\1 000', message, flags=re.IGNORECASE)
97
  return message
98
+
99
+ # Функция для корректировки использования тире и дефисов
100
+ def correct_dash_usage(text):
101
+ # Step 1: Replace any dash with long dash if surrounded by spaces
102
+ text = re.sub(r'\s[-–—]\s', ' — ', text)
103
+
104
+ # Step 2: Replace any dash with short dash if surrounded by numbers without spaces
105
+ text = re.sub(r'(?<=\d)[-–—](?=\d)', '–', text)
106
+
107
+ # Step 3: Replace any dash with hyphen if surrounded by letters or a combination of letters and digits
108
+ text = re.sub(r'(?<=[a-zA-Zа-яА-Я0-9])[-–—](?=[a-zA-Zа-яА-Я0-9])', '-', text)
109
+
110
+ return text
111
+
112
  # Функция для добавления ошибок в промпт для перегенерации
113
  def append_errors_to_prompt(prompt, checks):
114
  errors = []
 
158
 
159
  # Генерация сообщения
160
  message = generate_message_gigachat_pro(prompt)
161
+ message = replace_k_with_thousands(message)
162
+ message = correct_dash_usage(message)
163
  message_length = len(message)
164
 
165
  # Проверка длины сообщения. Если не проходит, сразу перегенерируем
 
169
  continue
170
 
171
  # Выполняем замены и проверки
 
172
  checks = perform_checks(message)
173
 
174
  # Обновляем последнее сообщение