Files
filwordspl-backend/fix_learning.py
T
2026-09-20 11:45:58 +00:00

44 lines
2.4 KiB
Python

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!")