最新案例动态,请查阅【案例共创】基于华为开发者空间-云开发环境(容器)与Versatile Agent构建AI自动评分助手。小伙伴们快来进行实操吧!

案例简介:本案例面向高校/培训机构等教学场景,基于华为开发者空间云开发环境(容器) + Versatile Agent + MaaS 大模型服务,构建一个可落地的 AI 作业自动评分系统。系统能够根据老师给出的作业要求与标准答案,对学生提交的答案进行自动评分(0–100 分,整数)。自动生成结构化点评,包括优点、问题和改进建议。支持多题目、多批量作业的统一管理,减轻教师批改压力。

本案例由开发者:tmq244提供

一、概述

1.1 适用对象

  • 个人开发者
  • 高校学生

1.2 案例流程

本案例面向高校/培训机构等教学场景,基于华为开发者空间云开发环境(容器) + Versatile Agent + MaaS 大模型服务,构建一个可落地的AI作业自动评分系统。系统能够:

  • 根据老师给出的作业要求与标准答案,对学生提交的答案进行自动评分(0–100 分,整数)。
  • 自动生成结构化点评,包括优点、问题和改进建议。
  • 支持多题目、多批量作业的统一管理,减轻教师批改压力。

本文将从场景与痛点、方案架构、环境准备、开发与部署步骤、功能验证等方面,完整展示如何在华为云上快速搭建一个可用的AI作业自动评分系统。

说明:

  1. 教师在 前端页面/管理端 录入或上传:
    • 作业题目说明
    • 本次作业的“评分标准 / 知识点要求”
    • 官方答案或参考答案
  2. 学生通过页面/系统提交自己的作业答案。
  3. 后端服务(运行在 华为开发者空间云开发环境 中)将:
    • 教师要求 + 标准答案 + 学生答案
    • 封装为 Prompt 调用 Versatile Agent(绑定大模型 MaaS)
  4. Versatile Agent 根据预先配置的 系统提示词,输出:
    • 0–100 的整数分数
    • 结构化评语(优点、问题、改进建议)
  5. 后端将结果存储并返回给前端展示。

1.3 资源总览

本案例预计花费1元

资源名称 规格 单价(元) 时长(分钟)
华为开发者空间 - 云开发环境(容器) 鲲鹏通用计算增强型 kc1 | 2vCPUs | 4G | HCE 免费 90
华为开发者空间 - Versatile Agent平台 系统标配 免费 90
华为开发者空间 - DeepSeek-R1/V3千万Tokens代金券 DeepSeek-R1-64K/DeepSeek-V3-64K 1.00 90

二、环境和资源准备

2.1 创建云开发环境(容器)

参考案例《华为开发者空间 - 云开发环境(容器)IDE插件远程连接操作指导》中的“二、云开发环境IDE插件远程连接操作指导”的内容,完成“1. 安装插件” ~ “4. 连接”章节步骤。完成连接之后的状态:

参考“5. 端口转发”创建8082端口转发。

2.2 获取IAM用户信息

参考案例《华为云IAM用户创建指导手册》完成IAM用户账号的创建与登录,最后IAM用户名账号名项目ID以及IAM账户密码等关键字段信息。

image-20260106095203781

注:

  1. 本案例使用华北-北京四对应的项目ID。
  2. 在创建用户时,访问方式勾选编程访问
image-20260108173533066

三、作业评分系统

3.1 创建Versatile Agent应用

参考案例《华为云MaaS平台商用大模型Tokens领取使用指导》中“二、 领取MaaS平台商用大模型Tokens”和“3.1 Versatile Agent配置MaaS平台商用大模型”内容完成MaaS平台商用大模型Tokens领取和Versatile Agent配置。

image-20260108154345601

华为开发者空间 - Versatile Agent开发平台,选择智能体 > 单智能体应用页签,点创建应用

image-20260106101924620

然后参考如下样例,创建AI作业评分系统单智能体应用:

  • 选择创建类型:单智能体应用
  • 应用名称:AI作业评分系统
  • 应用描述:一个简单的作业自动AI评分系统agent,用户输入评分标准和答案后,AI自动进行评分。
image-20260106102439650

完成上述配置后,点立即创建

在AI作业评分系统应用配置页面,右上角模型选择MaaS平台下的DeepSeek-R1-64K,调度选择模型优先。然后参考如下样例配置提示词:

你现在扮演一名严谨型作业评分员 A,根据老师给出的作业要求,对学生答案进行打分和点评。
下面是本次作业的要求和答案以及学生提交的作业
请你按照以下要求评分与点评:
  1. 评分标准
    重点考察:是否符合题意、关键知识点是否完整、推理是否正确。
    分数范围:0–100 分,必须给出一个整数。
  2. 输出格式(必须严格遵守)
    分数:<数字>/100 评语: 1)优点:…… 2)问题:…… 3)改进建议:……
  3. 其他要求
    只根据上面给出的作业要求和答案进行判断,不要杜撰题目外的信息。
    评语尽量简洁、具体,可操作,不要客套话,不要重复题目内容。
    不要说明你的身份,也不要输出多余的前后缀文字

配置完后在页面右侧输入如下问题,测试模型。

【作业要求】 用自己的话说明什么是“二分查找算法”,并给出它在有序数组上的时间复杂度分析。要求:
  1. 描述算法的基本思想;
  2. 说明对输入数据的前提条件;
  3. 给出时间复杂度并简单解释原因。 满分:100 分。
【标准答案】
  基本思想: 二分查找在有序数组中查找目标值,每次比较中间元素与目标值:
    若相等则查找成功;
    若目标值小于中间元素,则在左半部分继续查找;
    若目标值大于中间元素,则在右半部分继续查找。 不断缩小查找区间,直到找到或区间为空。
  前提条件: 查找对象必须是有序的顺序存储结构(通常是有序数组)。
  时间复杂度: 时间复杂度为 O(log n),因为每一步都把搜索区间缩小为原来的一半,最多进行约 log₂n 次比较。
【学生答案】 二分查找就是从中间开始找,如果中间的数不是我们要的,就往两边继续找,直到找到为止。 它适合在数组里找数,速度很快。 时间复杂度是 O(n),因为最多要把所有元素都看一遍。
image-20260108144416682

模型分析,并返回正确答案。点右上角的发布按钮,如下图编辑发布信息,然后点发布

image-20260108144613421

进入发布管理页面,网页栏点发布,发布完后的状态如下。

发布完成之后,选择API调用页签,在此处可获取API调用的的url

image-20260108150009432

3.2 获取智能评分助手项目代码

完成VS Code远程连接云开发环境(容器)后,点击Source Control图标,然后点Initialize Repository

image-20260108162907252

点CHANGES右侧的 ··· 图标,在下拉菜单中选择Clone

image-20260108163109320

输入代码仓地址,Clone from URL:git clone https://gitcode.com/sinat_41661654/AI-Scoring.git

image-20260108163221473

选择代码仓目录:/workspace/python/,点Select as Repository Destination

image-20260108163524138

然后点Open,将此目录设置为本地代码仓。

image-20260108163412131

加载结束后的状态如下:

image-20260108163645141

3.3 项目工程架构

3.3.1 业务场景介绍
  • 典型教学场景:
    • 大班授课(例如 100+ 学生),期末/平时作业量大。
    • 作业内容以简答题、简要论述题、代码题为主。
  • 主要痛点:
    • 老师手工评分耗时长、主观性强、难以及时反馈。
    • 很难对每个学生给出有针对性的“优点/问题/改进建议”。
3.3.2 目标与价值
  • 目标:
    • 作业评分流程自动化:老师提供“作业要求 + 参考答案/评分要点”,AI 自动打分与点评。
    • 评分规则 可控可调,保证“符合题意、关键知识点完整、推理是否正确”等核心维度。
  • 价值:
    • 大幅降低教师批改工作量,提升反馈速度。
    • 帮助学生快速了解自己作业中的不足,提升学习效果。
3.3.3 总体架构

后端框架:使用 Flask (app = Flask(__name__)) 提供 Web 服务。

前端展示:使用 HTML/CSS (Tailwind CSS) / JavaScript 构建了一个单页面的仪表盘界面,内嵌了聊天窗口。

AI 集成:后端通过 HTTP 请求与远程的华为云 AI Agent 进行通信。

3.3.4 功能模块详解
  1. 基础配置与工具函数

依赖库:引入了 requests 处理 HTTP 请求,urllib3 处理 SSL 警告,uuid 生成唯一会话 ID。

Token 读取 (read_token_from_file):为了安全起见,认证所需的 Token 不直接写在代码里,而是从本地文件 token.txt 中读取。

AI Agent 调用核心 (call_agent):

  • 功能:这是代码的核心逻辑。它向华为云的特定 API 端点发送 POST 请求。
  • 流式处理:使用了 stream=Trueiter_lines。代码设计用于处理流式响应 (SSE)(即 AI 一个字一个字吐出的效果),但在这里它将流式数据拼接成完整字符串 (full_content) 后再一次性返回给前端。
  • 容错:包含对 Token 缺失、网络错误、JSON 解析错误的异常处理。
  1. Web 路由 (Routes)

主页路由 (@app.route('/'))

  • 前端技术栈:

    1)样式:使用 Tailwind CSS CDN,快速构建现代化的 UI(紫色/蓝色渐变风格)。

    2)图标:使用 FontAwesome

    3)交互:包含原生 JavaScript。

  • 页面内容:

    1)仪表盘:展示了“作业提交”、“AI智能评分”、“成绩统计”等功能

    2)悬浮聊天窗:页面右下角有一个 AI 助手图标,点击可展开聊天界面。

    3)JavaScript 逻辑:负责监听用户输入,通过 fetch API 将消息发送给自家的后端 /api/agent 接口,并将返回结果显示在聊天气泡中。

API 接口路由 (@app.route('/api/agent'))

  • 功能:作为前端和华为云 AI 之间的中间层(Proxy)

  • 流程:

    1)接收前端发来的 JSON 数据(用户消息)。

    2)生成或复用 conversation_id

    3)调用内部的 call_agent 函数去请求真正的 AI 服务。

    4)将简单的内存级对话历史记录在全局变量 conversations 字典中。

    5)将 AI 的回复以 JSON 格式返回给前端。

  1. 代码逻辑流程图解
image-20260108165839229

3.4 部署智能评分助手项目

3.4.1 安装部署依赖
  1. 打开VS Code命令行窗口,创建并激活虚拟环境
python -m venv dev_venv
source dev_venv/bin/activate
image-20260108170711890
  1. 继续执行命令,安装requests和flask
pip3 install requests flask
3.4.2 修改项目配置
  1. 配置获取Token鉴权

Agent API调用需要通过用户Token进行用户鉴权,所以接口调用前,需要先获取用户的Token。

注意:华为账号不支持直接获取账号Token,华为账号获取Token需创建一个IAM用户并授予该用户必要的权限,使用创建的IAM用户名和密码,获取IAM用户Token。IAM用户名和密码,我们已经在“2.2 获取IAM用户信息”中获取。

在SmartOfficeAssistant文件夹下,查看编辑get_token.py文件。

image-20260108174600304

注意:

  • MAIN_USER:替换成“2.2 获取IAM用户信息”中获取的账号名;
  • IAM_USER:替换成“2.2 获取IAM用户信息”中获取的IAM用户名;
  • PROJECT_ID:替换成“2.2 获取IAM用户信息”中获取的华北-北京四区域对应的项目ID;
  • IAM_PASSWORD:替换成“2.2 获取IAM用户信息”中创建用户时,设置的IAM账号密码。

完成上述配置后,在VS Code命令行中输入如下指令,get_token.py自动生成token并被保存在token.txt文件中。

python get_token.py
image-20260108174323148
  1. 修改AI作业评分系统应用URL

打开main.py,将url参数替换成“3.1 创建Versatile Agent应用”中最后获取的url。

image-20260108175023974

3.5 工程运行

在VS Code命令行中输入如下指令,启动程序:

python main.py
image-20260108175527105

程序启动成功,浏览器访问:http://127.0.0.1:8082/。

image-20260108175550000

右下角打开AI评分助手,并输入“3.1 创建Versatile Agent应用”中的模型测试问题,控制台输出模型答复日志。

image-20260108175839614

返回浏览器AI作业评分系统,答复回显正常。

image-20260108175815285

3.6 释放资源

实验完成后,若无需继续后台运行,可操作云开发环境关机,避免持续消耗开发者空间核时。

在VS Code页面打开华为开发者空间插件,然后找到对应的云开发环境(容器),点Close关机。

image-20251113153627869

至此,基于华为开发者空间-云开发环境(容器)+ Versatile Agent,构建AI轻量级智能评分助手的案例结束。各位小伙伴快来华为开发者空间实操体验吧!

反馈改进建议

如您在案例实操过程中遇到问题或有改进建议,可以到论坛帖评论区反馈即可,我们会及时响应处理,谢谢!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐