eroha-agentapi / core /selfcheck.py
Yermek68's picture
Create core/selfcheck.py
00d0c12 verified
raw
history blame
1.67 kB
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