AI作业批改配置:从零搭建自动批改服务的完整步骤

想自己搭一套AI作业批改服务,核心工作其实分三块:准备一台能跑Python的服务器、接上可用的模型接口、把批改程序用Web服务跑起来并配好反向代理。
下面按零基础也能照做的顺序展开,环境以常见的Ubuntu 22.04加Python 3.10为例,其他发行版命令略有差异,思路一致。

先确认服务器和模型接口是否就绪

动手前需要准备三样东西:
一台有公网IP的Linux服务器(建议2核4G起步,
模型调用走API时对本地算力要求不高)、
一个可用的模型API Key(或本地部署的模型服务地址)、
一个域名(可选,
用于HTTPS访问)。

登录服务器后先检查基础环境:

cat /etc/os-release
python3 --version
pip3 --version

如果Python版本低于3.9,建议用apt install python3.10升级或改用pyenv管理。
接着安装虚拟环境和常用依赖:

apt update
apt install -y python3-venv python3-pip nginx

避坑点:不要直接用系统Python全局安装批改程序的依赖,容易和系统包冲突。
后面统一用虚拟环境隔离。

部署批改程序并配置模型参数

假设批改程序是一个Python Web应用(Flask或FastAPI均可),先创建独立目录和虚拟环境:

mkdir -p /opt/ai-grader && cd /opt/ai-grader
python3 -m venv venv
source venv/bin/activate
pip install flask requests gunicorn

把批改程序代码放到/opt/ai-grader/app.py,关键配置通过环境变量注入,避免硬编码密钥。
新建配置文件:

cat > /opt/ai-grader/.env <<'EOF'
MODEL_API_BASE=https://你的模型服务地址/v1
MODEL_API_KEY=你的API密钥
MODEL_NAME=你的模型名称
GRADER_PORT=8000
EOF

程序启动时读取这些变量,
例如在app.py中用os.environ.get("MODEL_API_KEY")获取。不要把API Key提交到代码仓库或写进前端页面。

如果批改程序需要读取学生提交的作业文件,提前建好上传目录并赋予运行用户写权限:

mkdir -p /opt/ai-grader/uploads
chown -R www-data:www-data /opt/ai-grader/uploads

用Gunicorn托管并配好Nginx入口

开发环境用flask run可以,生产环境建议用Gunicorn托管。
先手动测试启动:

cd /opt/ai-grader && source venv/bin/activate
gunicorn -w 2 -b 127.0.0.1:8000 app:app

看到Listening at: http://127.0.0.1:8000说明程序已跑起来。
用curl验证接口:

curl -X POST http://127.0.0.1:8000/grade -H "Content-Type: application/json" -d '{"answer":"测试答案"}'

返回批改结果即表示模型接口调用正常。
接着配置systemd让服务开机自启:

cat > /etc/systemd/system/ai-grader.service <<'EOF'
[Unit]
Description=AI Grader Service
After=network.target

[Service]
User=www-data
WorkingDirectory=/opt/ai-grader
EnvironmentFile=/opt/ai-grader/.env
ExecStart=/opt/ai-grader/venv/bin/gunicorn -w 2 -b 127.0.0.1:8000 app:app
Restart=always

[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now ai-grader
systemctl status ai-grader

最后配置Nginx反向代理,把外部请求转发到本机8000端口。
在/etc/nginx/sites-available/ai-grader中写入:

server {
    listen 80;
    server_name 你的域名;
    client_max_body_size 20m;
    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

启用站点并重载:

ln -s /etc/nginx/sites-available/ai-grader /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

常见报错与避坑清单

配置过程中最容易卡在几个地方,提前留意能省不少时间。

  • 502 Bad Gateway:通常是Gunicorn没启动或端口不对。先systemctl status ai-grader看服务状态,再curl 127.0.0.1:8000确认本地端口是否通。
  • 模型接口返回401或403:检查.env里的MODEL_API_KEY是否被正确加载,systemd服务需要EnvironmentFile指向该文件,修改后要systemctl restart ai-grader。
  • 上传大文件失败:Nginx默认限制1MB,需在server块加client_max_body_size,同时确认批改程序本身的文件大小限制。
  • 中文乱码或评分格式错乱:确认请求和响应都使用UTF-8编码,Nginx配置中可加charset utf-8;。
  • 权限问题导致上传目录不可写:运行用户为www-data时,确保/opt/ai-grader/uploads属主正确,否则批改请求会报500。

另一个容易忽略的点:如果模型服务在国内访问较慢,Gunicorn的worker超时时间可能需要调大,在启动参数中加--timeout 120,避免长文本批改被中断。

验证批改效果和运行状态

配置完成后,从外网访问http://你的域名/,提交一份样例题,观察是否返回评分和评语。
建议同时检查三项:

  1. 服务日志:journalctl -u ai-grader -f,确认每次请求都有正常响应记录。
  2. Nginx访问日志:tail -f /var/log/nginx/access.log,确认请求状态码为200。
  3. 模型调用耗时:如果批改程序记录了耗时,观察单次请求是否在可接受范围内,超时请求会体现在Gunicorn日志中。

如果后续需要HTTPS,可用certbot --nginx申请证书,注意域名已解析到服务器。
整套AI作业批改配置跑通后,再根据实际作业量调整Gunicorn的worker数量和模型并发限制,避免高峰期请求堆积。

两个常见疑问

批改程序必须用GPU服务器吗? 不一定。
如果模型调用走外部API,普通CPU服务器即可;
只有本地部署大模型时才需要GPU,且要按模型显存要求选卡,具体以模型官方文档为准。

配置改完后需要重启哪些服务? 修改.env或程序代码后重启ai-grader;
只改Nginx配置则执行nginx -t && systemctl reload nginx即可,不必重启系统。

整套流程的核心是隔离运行环境、密钥走环境变量、入口统一由Nginx管理。
按上面的步骤逐项检查,遇到异常优先看服务状态和日志,多数配置问题都能定位到具体环节。

分享到:
上一篇
AI智能辅导系统搭建:从服务器到可运行的最小闭环
下一篇
AI教案生成配置:从零搭建可用的自动备课流程
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意