AI大模型批改代码作业系统是一个综合性项目,包含前端(用户提交代码)、后端(接收请求、调用AI模型分析、返回评语)以及与大模型的交互。下面我将为你提供一个完整的解决方案,包括:
- 前端:使用 React 实现简单界面
- 后端:使用 Node.js + Express 接收代码并调用 AI 模型
- AI 分析模块:模拟或调用真实大模型 API(如通义千问、ChatGPT)
✅ 完整实现:AI 批改代码作业系统
一、后端(Node.js + Express)
# 项目结构 backend/ ├── server.js ├── package.json
backend/server.js
const express = require('express'); const cors = require('cors'); const axios = require('axios'); // 用于调用大模型API const app = express(); app.use(cors()); app.use(express.json()); // 配置你的大模型 API(这里以通义千问为例,也可替换为 OpenAI) 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 = await 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}`); });
> ⚠️ 注意:你需要注册 阿里云百炼平台 获取 DashScope 的 API Key,或换成 OpenAI 的 /chat/completions 接口。
二、前端(React)
# 项目结构 frontend/ ├── public/ ├── src/ │ ├── App.js │ ├── index.js ├── package.json
frontend/src/App.js
import React, { useState } from 'react'; import './App.css'; function App() , body: JSON.stringify({ code, language, assignmentPrompt }) }); const data = await res.json(); if (data.feedback) else } catch (err) finally }; return (); } export default App;🤖 AI 代码作业批改系统
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/222650.html