33 lines
1.6 KiB
Python
33 lines
1.6 KiB
Python
from modules.knowledge_base import add_rule_to_kb
|
|
|
|
def review_ai_decisions(ai_report, suspicious_cases):
|
|
"""
|
|
Интерактивный модуль: показывает спорные моменты человеку
|
|
и записывает его вердикт в память ИИ.
|
|
"""
|
|
print("\n" + "="*60)
|
|
print("РЕЖИМ ОБУЧЕНИЯ И ПРОВЕРКИ РЕШЕНИЙ ИИ (HUMAN-IN-THE-LOOP)")
|
|
print("="*60)
|
|
|
|
if not suspicious_cases:
|
|
print("Спорных случаев для обучения сегодня не обнаружено.")
|
|
return
|
|
|
|
for case in suspicious_cases:
|
|
fio = case.get('fio_target')
|
|
reason = case.get('reason')
|
|
print(f"\n[?] Спорный случай: {fio}")
|
|
print(f" Причина аномалии: {reason}")
|
|
|
|
user_input = input("Согласны с решением ИИ? (д - да / н - нет / введите новое правило): ").strip()
|
|
|
|
if user_input.lower() == 'н' or len(user_input) > 5:
|
|
if user_input.lower() == 'н':
|
|
rule_text = input(f"Опишите правило для {fio} (например: 'Считать совместителем'): ")
|
|
else:
|
|
rule_text = user_input
|
|
|
|
# Записываем правило в Базу Знаний
|
|
full_rule = f"Сотрудник {fio}: {rule_text}"
|
|
add_rule_to_kb(full_rule)
|
|
print(f"[+] ИИ 'запомнил' это правило и учитывает его со следующего запуска!") |