fix(plagiarism): не матчить против чужих/своих же загруженных работ
Критично: L1/L2/L3 сравнивали фрагменты со ВСЕЙ базой documents, включая source=user_submission — работы, которые auto_approve_submission сам же затаскивал в корпус после проверки. Итог: студент, перепроверивший тот же файл дважды, получал 100% "точное совпадение" по всем фрагментам — против собственной же более ранней загрузки. Фикс: все три уровня исключают source=user_submission из кандидатов на совпадение. AUTO_APPROVE_SUBMISSIONS выключен по умолчанию — раньше рос корпус для будущего сравнения, но без защиты от self/cross-match это опаснее, чем полезно.
This commit is contained in:
@@ -121,6 +121,10 @@ def check_plagiarism(
|
||||
|
||||
if not doc_meta:
|
||||
continue
|
||||
# user_submission — чужие непубличные загрузки (и свои же прошлые
|
||||
# прогоны того же файла), не легитимный источник для сравнения.
|
||||
if doc_meta["source"] == "user_submission":
|
||||
continue
|
||||
|
||||
llm_result = {"is_paraphrase": False, "confidence": 0.0, "reason": ""}
|
||||
if source_text:
|
||||
|
||||
Reference in New Issue
Block a user