File size: 1,670 Bytes
00d0c12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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