自动批改作业项目

部署运行你感兴趣的模型镜像

 AGAR (Automated Grading And Reviews)

基于大语言模型的自动作业评分系统,支持多种语言以及工程项目的批量评分。

项目地址

HuangZeLinCute/Automated-Grading-And-Reviews: Automatic job scoring system based on large language model, support multiple languages and engineering project batch scoring.

特性 

- 支持多种语言评分类型:

  - Python

  - Java

  - C / C++

  - Scala

  - HTML / CSS / JavaScript

  - 微信小程序

- 智能评分功能:

  - 分档评分(90-100,80-89,70-79,60-69,0-59)

  - 详细评语和反馈

  - 统计分析和可视化

- 批量处理:

  - 自动判断是否是工程项目

  - 自动识别学生ID(基于文件夹名)

  - 生成CSV格式评分报告

- 可用的API(ChatGPT和Claude没测试过):

  - ChatGPT

  - Claude

  - Qwen

  - Deepseek

  - Kimi

  - Glm

  - Ollama(本地)

使用方法

创建文件

mkdir submissions result

安装依赖

pip install -r requirements.txt

启动项目

python main.py

项目结构

AGAR/

├── core/

├── utils/

├── config/

├── submissions/

│   ├── (student submissions)

├── results/

│   ├── (grading results)

├── main.py

非工程项目学生作业提交

submissions/

│   ├── 1.py

│   ├── 2.py

│   ├── 3.py

│   ├── 4.py

工程项目学生作业提交

submissions/

├── student1/

│   ├── project/

│   │   ├── main.py

│   │   ├── utils.py

│   │   ├── config.py

│   │   ├── ...

├── student2/

│   ├── project/

│   │   ├── main.py

│   │   ├── utils.py

│   │   ├── config.py

│   │   ├── ...



 

- API更换

  - 在api_config.py,把api-key换掉即可

  - 在api_config.py,把DEFAULT_API换成你用的模型

- 题目输入

  - 题目输入在main.py里的question这里填,不填也没事,会根据代码评分

- 作业提交和输出

  - 提交作业在submissions文件里

  - 输出结果在results

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

虽然给定引用未直接提及使用IntelliJ IDEA实现自动批改作业的方法,但可以结合开发作业自动批改管理系统的思路来探讨大致实现步骤。 要使用IntelliJ IDEA实现自动批改作业,可按以下步骤进行: ### 项目创建 在IntelliJ IDEA中创建一个合适的项目,例如基于Spring Boot或者SSM框架的项目。以Spring Boot为例,可通过Spring Initializr创建项目,添加必要的依赖,如Web、数据库驱动等。 ```xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 其他依赖 --> </dependencies> ``` ### 需求分析与设计 明确作业自动批改系统的功能需求,如作业提交、批改规则设定、结果反馈等。设计数据库表结构,用于存储作业信息、学生信息、批改结果等。 ### 代码实现 - **数据层**:编写实体类和数据访问层接口,使用MyBatis或JPA等技术实现数据的持久化操作。 ```java // 作业实体类 public class Homework { private Integer id; private String title; // 其他属性及getter、setter方法 } ``` ```java // 作业数据访问接口 import org.springframework.data.jpa.repository.JpaRepository; public interface HomeworkRepository extends JpaRepository<Homework, Integer> { } ``` - **业务逻辑层**:实现作业批改的业务逻辑,根据预设的规则对作业进行批改。 ```java import org.springframework.stereotype.Service; @Service public class HomeworkService { public String correctHomework(Homework homework) { // 批改逻辑 return "批改结果"; } } ``` - **控制层**:创建控制器类,处理前端请求,调用业务逻辑层的方法。 ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @RestController public class HomeworkController { @Autowired private HomeworkService homeworkService; @PostMapping("/correct") public String correct(@RequestBody Homework homework) { return homeworkService.correctHomework(homework); } } ``` ### 测试与部署 在IntelliJ IDEA中进行单元测试和集成测试,确保系统的正确性和稳定性。将项目部署到服务器上,供教师和学生使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值