AI
大模型
批改代码
作业系统是一个综合性项目,包含前端(用户提交代码)、后端(接收请求、调用
AI模型分析、返回评语)以及与
大模型的交互。下面我将为你提供一个完整的解决方案,包括: – 前端:使用 React 实现简单界面 – 后端:使用 Node.js
+ Express 接收代码并调用
AI 模型 –
AI 分析模块:模拟或调用真实
大模型 API(如通义千问、ChatGPT) — ✅ 完整实现:
AI
批改代码
作业系统 — 一、后端(Node.js
+ Express) bash # 项目结构 backend/ ├── server.js ├── package.json `backend/server.js` javascript const express = require(‘express’); const cors = require(‘cors’); const axios = require(‘axios’); // 用于调用
大模型API const app = express(); app.use(cors()); app.use(express.json()); // 配置你的
大模型 API(这里以通义千问为例,也可替换科大讯飞 星火 教程为 Open
AI) const MODEL_API_URL = ‘https://dashscope.aliyuncs.com/api/v1/services/
aigc/text-generation/generation’; const API_KEY = ‘your-dashscope-api-key’; // 替换为你的实际 API Key // POST /submit-code – 提交代码进行
批改 app.post(‘/submit-code’, async (req, res) => { const { code, language, assignmentPrompt } = req.body; if (!code || !language) { return res.status(400).json({ error: ‘缺少代码或语言类型’ }); } const prompt = ` 你是一位资深的${language}编程教师,请
批改以下学生提交的代码
作业。 请从以下几个方面进行点评: 1. 功能是否正确? 2. 代码风格是否规范?(命名、缩进、注释等) 3. 是否有潜在错误或边界问题? 4. 给出优化建议和改进后的代码示例。
作业要求:${assignmentPrompt || ‘实现一个基础功能’} 请用中文回复,格式如下: — 【
批改结果】 ✅/❌ 功能正确性:… 📝 代码风格:… ⚠️ 潜在问题:… 💡 优化建议:… 🔧 改进代码示例: ${language} // 优化后的代码 …` “ `; try { const response = aw
ait axios.post( MODEL_API_URL, { model: ‘qwen-max’, // 可选 qwen-plus, qwen-turbo 等 input: { messages: [ { role: ‘user’, content: prompt
+ ‘ ‘
+ language
+ ‘ ‘
+ code
+ ‘ ‘ } ] }, parameters: { result_format: ‘text’ } }, { headers: { ‘Authorization’: `Bearer ${API_KEY}`, ‘Content-Type’: ‘application/json’ } } ); const feedback = response.data.output.text; res.json({ feedback }); } catch (error) { console.error(‘调用
大模型失败:’, error.response
?.data || error.message); res.status(500).json({ error: ‘
AI
批改服务出错’ }); } }); const PORT = 5000; app.listen(PORT, () => { console.log(`Backend running on http://localhost:${PORT}`); }); > ⚠️ 注意:你需要注册 [阿里云百炼平台](https://console.b
ailian.console.aliyun.com/) 获取 DashScope 的 API Key,或换成 Open
AI 的 `/chat/completions` 接口。 — 二、前端(React) bash # 项目结构 frontend/ ├── public/ ├── src/ │ ├── App.js │ ├── index.js ├── package.json `frontend/src/App.js` jsx import React, { useState } from ‘react’; import ‘./App.css’; function App() , body: JSON.stringify({ code, language, assignmentPrompt }) }); const data = aw
ait res.json(); if (data.feedback) else } catch (err) finally }; return (
🤖
AI 代码
作业
批改系统
{feedback && (
📝
AI
批改结果
') }} /> )}
); } export default App; `frontend/src/App.css`(可选美化) css .App textarea { margin-top: 10px; font-family: monospace; } button { margin-top: 10px; padding: 10px 20px; font-size: 16px; } .feedback { margin-top: 20px; text-align: left; padding: 15px; background-color: #f9f9f9; border-radius: 8px; display: inline-block; width: 80%; text-align: left; } --- 三、启动步骤 1. 启动后端 bash cd backend npm init -y npm install express cors axios node server.js 2. 启动前端(React) bash npx create-react-app frontend cd frontend # 替换 src/App.js 和添加 CSS 后运行 npm start 3. 访问 `http://localhost:3000` 即可使用。 --- 四、说明 | 模块 | 功能 | |------|------| | 前端 | 用户输入代码、选择语言、提交请求 | | 后端 | 接收代码,构造 prompt 发送给
大模型 | |
大模型 | 分析代码质量、给出反馈建议 | | 返回 | 将
AI 生成的评语展示给用户 | > ✅ 优势:自动化
批改、支持多语言、可扩展评分等级、集成到教学平台。 --- ❗注意事项 - 替换 `API_KEY` 为真实的密钥([阿里云百炼](https://b
ailian.console.aliyun.com/) 或 [Open
AI](https://platform.open
ai.com/)) - 生产环境需增加鉴权、限流、日志记录 - 可加入数据库存储历史提交记录 ---
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/280515.html原文链接:https://javaforall.net
