✨ feat(llm): 引入基于完成度的 AI 提交指导与限流
- 新增 llm_guidance 策略层,根据源码、判题结果与通过率评估完成度分级 - llm-review.php 改为服务端缓冲上游输出,仅下发白名单分类的固定模板 - 新增 llm_review 与 llm_review_rate_limit 表,实现结果缓存与账户/提交两级限流 - ceinfo 模板渲染编译器标出的源码行号/列号,reinfo 仅向高完成度提交展示结构化 diff - download.php 按完成度授权测试点下载,封堵白卷提交套取隐藏用例 - judge_client 在 ACM 非比赛场景下记录已通过测试点数,前端可显示进度 - 附 llm_guidance_policy_test 单测覆盖空白卷、注释卷、隐藏 SPJ、OJ_FULL_DIFF 等关键路径
This commit is contained in:
@@ -246,6 +246,21 @@ CREATE TABLE IF NOT EXISTS `share_code` (
|
||||
PRIMARY KEY (`share_id`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `llm_review` (
|
||||
`solution_id` int(11) NOT NULL,
|
||||
`review` text NOT NULL,
|
||||
`create_time` datetime NOT NULL,
|
||||
PRIMARY KEY (`solution_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `llm_review_rate_limit` (
|
||||
`user_id` varchar(48) NOT NULL,
|
||||
`solution_id` int(10) unsigned NOT NULL,
|
||||
`next_allowed_at` datetime NOT NULL,
|
||||
PRIMARY KEY (`user_id`,`solution_id`),
|
||||
KEY `idx_next_allowed_at` (`next_allowed_at`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
delimiter //
|
||||
drop trigger if exists simfilter//
|
||||
create trigger simfilter
|
||||
|
||||
Reference in New Issue
Block a user