# GradeOps：基于多模态大模型与LangGraph的AI自动阅卷系统

> GradeOps是一个开源的AI阅卷引擎，结合视觉语言模型与LangGraph智能体工作流，实现对手写试卷的自动识别、评分与人工复核流程。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-06-14T14:14:25.000Z
- 最近活动: 2026-06-14T14:21:00.507Z
- 热度: 152.9
- 关键词: AI阅卷, LangGraph, 视觉语言模型, 教育科技, FastAPI, 人机协作, OCR, Gemini, Nemotron
- 页面链接: https://www.zingnex.cn/forum/thread/gradeops-langgraphai
- Canonical: https://www.zingnex.cn/forum/thread/gradeops-langgraphai
- Markdown 来源: ingested_event

---

## 原作者与来源

- 原作者/维护者：exharmonic
- 来源平台：github
- 原始标题：grade-ops
- 原始链接：https://github.com/exharmonic/grade-ops
- 来源发布时间/更新时间：2026-06-14T14:14:25Z

## 原作者与来源\n\n- **原作者/维护者**: exharmonic\n- **来源平台**: GitHub\n- **原始项目名**: grade-ops\n- **原始链接**: https://github.com/exharmonic/grade-ops\n- **发布时间**: 2025年6月\n\n---\n\n## 项目背景与问题场景\n\n在教育评估领域，传统的试卷批改长期面临着效率与准确性的双重挑战。手写试卷的识别、主观题的评分一致性、以及大规模考试场景下的评分速度，一直是困扰教育工作者的核心难题。随着大语言模型和视觉语言模型技术的成熟，将这些能力引入教育评分流程成为可能。\n\nGradeOps Backend正是针对这一场景设计的AI阅卷引擎。它并非试图完全取代人工，而是通过"AI初评+人工复核"的人机协作模式，在提升效率的同时保证评分质量。该项目采用FastAPI构建后端服务，结合LangGraph实现智能体工作流编排，为教育技术领域提供了一个值得参考的工程范例。\n\n---\n\n## 核心架构设计\n\n### 双阶段AI流水线\n\nGradeOps采用两阶段模型处理每张试卷。第一阶段由NVIDIA Nemotron视觉语言模型负责，该模型通过OpenRouter提供服务，专门处理手写文本和数学公式的高精度OCR识别。第二阶段将识别结果交由Google Gemini处理，后者根据复杂的嵌套JSON评分标准进行评分，并为每个评分维度提供详细的推理说明。\n\n这种分工设计体现了架构上的深思熟虑：视觉语言模型专注于其擅长的空间-文本理解任务，而大语言模型则专注于逻辑推理和评分判断。两阶段解耦也使得系统可以独立升级或替换任一组件，而不影响整体流程。\n\n### 基于LangGraph的智能体编排\n\nLangGraph是LangChain团队推出的用于构建智能体工作流的框架。GradeOps利用LangGraph将整个评分生命周期建模为状态机。当试卷进入需要人工介入的环节时，工作流会自动暂停，并通过SqliteSaver将状态持久化到SQLite数据库中。这种设计确保了审核队列能够跨请求存活，而非仅存在于内存中。\n\n状态机的引入使得复杂的评分流程变得可管理：从试卷上传、OCR识别、自动评分、到人工复核、最终确认，每个状态转换都有明确的触发条件和处理逻辑。\n\n### 人机协作（HITL）机制\n\n系统通过REST API桥接AI流水线与前端界面。教学助理可以通过专门的端点查看AI生成的评分、进行调整并最终确认。审核结果会被写回LangGraph的状态中，确保流程的连续性。这种设计让教师始终掌握最终决策权，AI仅作为辅助工具提供建议。\n\n---\n\n## 技术栈详解\n\n### 后端框架\n- **FastAPI**: 高性能异步Python Web框架，支持自动生成OpenAPI文档\n\n### AI与编排\n- **LangGraph**: 用于构建评分状态机的智能体工作流框架\n- **LangChain**: 提供与各类模型提供商的集成能力\n\n### 模型配置\n- **Google Gemini** (`gemini-3.1-flash-lite`): 负责评分标准推理与打分\n- **NVIDIA Nemotron** (`nvidia/nemotron-nano-12b-v2-vl:free`): 通过OpenRouter提供手写内容OCR服务\n\n### 数据层\n- **PostgreSQL**: 存储应用数据（用户信息、试卷元数据等）\n- **SQLite**: 专门用于LangGraph状态检查点（`checkpoints.db`）\n- **SQLAlchemy**: ORM层，提供统一的数据访问接口\n\n### 安全与工具\n- **PyJWT**: 会话令牌签名\n- **pwdlib[argon2]**: 密码哈希\n- **PyMuPDF**: PDF试卷解析\n\n---\n\n## 关键设计亮点\n\n### 异步后台处理\n\nOCR识别和评分计算属于计算密集型任务。GradeOps将这些操作放在FastAPI的后台任务中执行，使得上传接口能够快速返回响应，而模型推理则在后台进行。这种设计保证了API的响应性，同时允许仪表板在结果就绪时实时更新。\n\n### 基于角色的访问控制\n\n系统明确区分教师（instructor）和教学助理（teaching assistant）的权限边界。认证状态通过httponly cookie传递，这种设计使会话令牌对客户端脚本不可见，有效降低了XSS攻击风险。\n\n### 关系型数据优化\n\n考虑到大规模考试场景下可能产生大量试卷记录，GradeOps的数据查询经过专门优化，能够高效聚合批量评分统计信息。这种预优化避免了在数据量增长后出现性能瓶颈。\n\n---\n\n## 部署与使用\n\n项目提供了完整的本地开发指南，包括：\n\n1. **环境配置**: 通过`.env`文件管理数据库连接、API密钥等敏感信息\n2. **虚拟环境**: 支持Windows、macOS、Linux多平台\n3. **依赖管理**: 详细的`requirements.txt`及补充包说明\n4. **数据库初始化**: PostgreSQL数据库创建脚本\n5. **API文档**: 自动生成Swagger UI，支持交互式测试\n\n值得注意的是，项目还配套开发了React前端（`gradeops-frontend`仓库），形成完整的教育评分解决方案。\n\n---\n\n## 总结与思考\n\nGradeOps展示了如何将前沿AI技术应用于传统教育场景。其设计哲学值得借鉴：\n\n1. **人机协作而非替代**: AI负责初评和标准化处理，人类保留最终决策权\n2. **模块化架构**: 两阶段模型、可插拔的LangGraph状态机，都体现了良好的解耦设计\n3. **工程实用性**: 从httponly cookie到异步任务队列，每个技术选择都服务于实际部署需求\n\n对于希望探索AI在教育领域应用的开发者而言，GradeOps提供了一个功能完整、架构清晰的参考实现。
