import re def evaluate_answer(answer: str) -> dict: """Оценивает качество ответа по базовым критериям""" score = 0 feedback = [] if len(answer) < 150: feedback.append("Ответ слишком короткий.") else: score += 1 if re.search(r"потому что|так как|следовательно|в итоге|пример", answer.lower()): score += 1 else: feedback.append("Не хватает объяснений и примеров.") if "ошибка" in answer.lower() or "не знаю" in answer.lower(): feedback.append("Ответ содержит неопределённость.") else: score += 1 overall = "Отлично ✅" if score == 3 else "Нужно улучшить ⚙️" return {"score": score, "feedback": feedback, "result": overall} def improve_answer(answer: str) -> str: """Улучшает ответ, если он слишком краткий""" if len(answer) < 200: answer += ( "\n\n💡 Добавим пояснение:\n" "Чтобы лучше понять, представь это на практике — " "если применить этот принцип, можно заметить закономерности " "и глубже осознать логику процесса." ) if "пример" not in answer.lower(): answer += "\n📘 Пример: допустим, у нас есть ситуация, где этот принцип работает..." return answer