with open('routers/learning.py', 'r') as f: content = f.read() # Добавляем regex для удаления технических ID content = content.replace( ''' data = response.json() ai_response = data["choices"][0]["message"]["content"].strip() ai_response = ai_response.replace("**", "").replace("*", "").replace("#", "") return {"analytics_enabled": True, "response": ai_response}''', ''' data = response.json() ai_response = data["choices"][0]["message"]["content"].strip() ai_response = ai_response.replace("**", "").replace("*", "").replace("#", "") # Убираем технические ID в скобках: (self_intro), (family_masz_mam) и т.д. import re ai_response = re.sub(r'\\s*\\([a-z_]+_[a-z_]+\\)', '', ai_response) return {"analytics_enabled": True, "response": ai_response}''' ) # Убираем из промпта упоминание процента завершения уровня (правило 12) content = content.replace( '''12. ВАЖНО: level_completion_percent показывает сколько тем пройдено из ВСЕГО уровня (A1 = 30+ тем). Если пройдено 5 тем из 30+ — это только начало (около 16%), а не "почти готово". НЕ говори что уровень почти завершён, если пройдено меньше 100%. ''', '''12. ВАЖНО: НИКОГДА не упоминай процент завершения уровня, количество пройденных тем или сколько тем осталось. Не говори "ты прошёл X тем" или "осталось Y тем". Просто анализируй навыки. ''' ) # Убираем из user_prompt пункт про прогресс content = content.replace( '''5. Твой общий прогресс и мотивация В конце напиши: "Жду тебя в разделе Повторение!\\""""''', '''5. Твоя мотивация (без упоминания процентов и количества тем) В конце напиши: "Жду тебя в разделе Повторение!\\""""''' ) with open('routers/learning.py', 'w') as f: f.write(content) print("learning.py fixed!")