Yermek68 commited on
Commit
bd0e9f8
·
verified ·
1 Parent(s): f8c79ce

Create core/selfcheck.py

Browse files
Files changed (1) hide show
  1. core/selfcheck.py +13 -35
core/selfcheck.py CHANGED
@@ -1,38 +1,16 @@
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
 
1
+ def evaluate_answer(text):
2
+ """Простая система самоанализа качества ответа"""
 
 
 
3
  feedback = []
4
+ if len(text) < 50:
5
+ feedback.append("Ответ слишком короткий")
6
+ if "ошибка" in text.lower():
7
+ feedback.append("Обнаружена ошибка в тексте")
8
 
9
+ result = "⚙️ Требуется улучшение" if feedback else "✅ Качество отличное"
10
+ return {"result": result, "feedback": feedback}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
 
12
+ def improve_answer(text):
13
+ """Автоулучшение добавляет завершённость и стиль"""
14
+ if not text.endswith((".", "!", "?")):
15
+ text += "."
16
+ return text.strip().capitalize()