Yermek68 commited on
Commit
00d0c12
·
verified ·
1 Parent(s): 2a95ad2

Create core/selfcheck.py

Browse files
Files changed (1) hide show
  1. core/selfcheck.py +38 -0
core/selfcheck.py ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import re
2
+
3
+ def evaluate_answer(answer: str) -> dict:
4
+ """Оценивает качество ответа по базовым критериям"""
5
+ score = 0
6
+ feedback = []
7
+
8
+ if len(answer) < 150:
9
+ feedback.append("Ответ слишком короткий.")
10
+ else:
11
+ score += 1
12
+
13
+ if re.search(r"потому что|так как|следовательно|в итоге|пример", answer.lower()):
14
+ score += 1
15
+ else:
16
+ feedback.append("Не хватает объяснений и примеров.")
17
+
18
+ if "ошибка" in answer.lower() or "не знаю" in answer.lower():
19
+ feedback.append("Ответ содержит неопределённость.")
20
+ else:
21
+ score += 1
22
+
23
+ overall = "Отлично ✅" if score == 3 else "Нужно улучшить ⚙️"
24
+ return {"score": score, "feedback": feedback, "result": overall}
25
+
26
+
27
+ def improve_answer(answer: str) -> str:
28
+ """Улучшает ответ, если он слишком краткий"""
29
+ if len(answer) < 200:
30
+ answer += (
31
+ "\n\n💡 Добавим пояснение:\n"
32
+ "Чтобы лучше понять, представь это на практике — "
33
+ "если применить этот принцип, можно заметить закономерности "
34
+ "и глубже осознать логику процесса."
35
+ )
36
+ if "пример" not in answer.lower():
37
+ answer += "\n📘 Пример: допустим, у нас есть ситуация, где этот принцип работает..."
38
+ return answer