An open API service indexing awesome lists of open source software.

https://github.com/opentritium/cqust_smack

重庆科技大学学工系统自动答题
https://github.com/opentritium/cqust_smack

Last synced: about 1 month ago
JSON representation

重庆科技大学学工系统自动答题

Awesome Lists containing this project

README

        

# 重庆科技大学学工系统自动化答题

## 不推荐继续使用该项目

你可以直接访问 Iframe 的链接,然后故意乱做,提交后它会将正确答案标红。你可以继续修改答案至正确答案,因为这次`提交`按钮不会变成`再来`了。
## 配置

在项目目录中 `config.toml` 可以配置,可以参照 `config_template.toml`:
- 大模型平台密钥(默认的实现是硅基流动,若需要修改平台可以自行参考平台文档修改请求地址,以及序列化数据结构)
- 解答任务并行数量(平台会限制 TPM/RPM)
- 学工系统 Cookie(会话 ID 会经常变化,抓取 30 分钟内的为宜)

# 如何使用它

对于本学年的题目,你可以直接将项目根目录的 `gm.js` 添加到油猴脚本中。

## 工作流程

如果你不想自己重新生成题库的话,直接将本项目的 `gm.js` 添加到油猴插件里即可,后面的步骤可以不看。

### 爬取题库

你需要使用 Cookie 爬取学工系统的题库,执行 `cargo run --example mk_cache`,题库会默认缓存到 `./cache` 文件夹下。

### 准备学生手册

学生手册需要是 markdown 文档。学校发布的 pdf 可能是纯图片的,这个时候就需要你先 OCR 一下再转换为 Markdown。文件路径可以在 `config.toml` 中指定。

### 训练题库

其次,使用缓存的题目去请求大模型,大模型会依照 `prompt.json` 的要求返回题解。请依照你的经济实力调节请求并行数量,这回极大提高训练速度。执行 `cargo run --example mk_solution` ,这段时间可能相当漫长。
题库训练完以后会被保存到 `./solution_mapping.json` 中,你可以将它发布到任意 CDN。题库的本质是题目 Hash 与解答的映射。

### 加载油猴脚本

将脚本添加到暴力猴(推荐)。油猴脚本会拉取题库,你可以修改成你的题库地址,你可以在浏览器控制台观察到可能的错误和日志。

## 可能的问题

### 大模型无法解答某些问题

这可能是大模型的风控机制导致的,对于某些疑似敏感问题的问题无法回答。

### 脚本无法作答某些题目

原因如上。

### 我想更换模型

可以更换请求的 `model` 参数,记得更改下返回的序列化数据结构,因为不同的模型返回的 `json` 格式不一。

### 项目提供的题库过时了

欢迎 PR 与 Issue。

### 为什么不发布为二进制

对于本项目来说,题库和油猴脚本才是最重要的(它们非常易于使用),爬虫和请求工具需要一定知识来修改,发布源码足矣。

### 为什么不发布到 GreasyFork
感觉没必要。