系统说明
本系统是一个基于 Flask 框架开发的智能化教学文档生成与质量评价平台,集成了 DeepSeek 大语言模型实现自动化文档生成和多维度质量评估。系统采用 Flask-Login 实现用户认证,SQLite 作为数据存储,Bootstrap 5 提供响应式前端界面。系统支持用户和管理员两种角色,用户可根据教学需求生成定制化文档并进行质量评价,管理员可通过管理后台对用户、文档和评价进行全面管理。系统文档采用 Markdown 渲染,支持代码高亮、表格展示和格式化下载,为教育工作者提供高效的教学内容创作工具。

完整代码点这里下载
功能说明
用户注册与登录
系统提供完善的用户注册和登录功能,支持用户名和邮箱注册。注册时需要设置密码,密码经过加密存储。登录功能集成 Flask-Login 实现会话管理,支持记住登录状态。用户登录后可访问文档生成、质量评价等核心功能。系统预置管理员账户(admin/admin123),方便系统管理和维护。注册信息包括用户名、邮箱和密码,通过表单验证确保数据有效性。


文档生成
用户可输入教学主题、目标受众、难度等级等参数,系统通过 DeepSeek 大模型自动生成结构化教学文档。文档包含教学内容、知识点、实例和练习等模块。生成过程采用异步处理,前端显示实时进度,整个过程约需 60-90 秒。生成的文档支持 Markdown 格式预览,内容经过语义理解和教学逻辑优化,确保教学文档的专业性和可读性。


文档质量评价
系统提供智能化的文档质量评价功能,从内容质量、结构组织、清晰度、完整性、教学价值五个维度进行量化评估。评价过程由大语言模型分析文档内容,自动生成详细评分(0-100 分)和改进建议。评价耗时约 30-60 秒,用户可根据评价结果优化文档质量。评价结果永久保存,便于历史回顾和质量追踪。

文档查看与下载
用户可在文档列表页查看所有已生成文档,支持点击查看详细内容。文档详情页采用 Markdown 渲染,支持代码高亮、表格显示和格式化排版,提供良好的阅读体验。系统支持两种下载格式:Markdown 源文件和 HTML 格式文件,方便用户在不同场景下使用。文档按创建时间倒序排列,便于快速查找最新文档。

用户管理(管理员)
管理员可在管理后台查看所有注册用户信息,包括用户名、邮箱、角色、注册时间和文档统计。支持查看用户详情页面,显示该用户的所有文档和评价记录。管理员可以删除普通用户账户(不能删除管理员),删除用户时同步删除其所有关联文档和评价,确保数据一致性。用户列表支持分页显示,每页显示 20 条记录。

文档管理(管理员)
管理员可查看系统中所有用户生成的文档列表,显示文档标题、作者、创建时间、主题、难度和状态等信息。支持文档删除操作,删除文档时同步删除关联的评价记录。文档列表按创建时间倒序排列,管理员可快速了解系统文档生成情况。通过文档管理功能,管理员可以有效监控和清理低质量或违规文档内容。

评价管理(管理员)
管理员可查看系统中所有文档的评价记录,包括评价文档、评价分数、各维度评分、反馈意见和评价时间。支持评价删除操作,删除评价后文档状态自动恢复为"已生成",允许用户重新评价。评价列表按评价时间倒序排列,管理员可分析评价数据了解文档质量分布。评价管理功能有助于监控评价质量,确保评价结果的准确性和公平性。

技术架构
后端技术栈
- Flask 3.1.2: Web 框架,提供路由、模板渲染、请求处理等核心功能
- Flask-Login: 用户认证与会话管理
- SQLAlchemy: ORM 框架,操作 SQLite 数据库
- DeepSeek API: 大语言模型,提供智能文档生成和质量评价能力
- LangChain: LLM 应用开发框架,封装 DeepSeek API 调用
前端技术栈
- Bootstrap 5.3: 响应式前端框架,提供 UI 组件和样式
- jQuery: JavaScript 库,简化 DOM 操作和 AJAX 请求
- Markdown: Python 库,将 Markdown 转换为 HTML
- Pygments: 代码高亮库,支持多种编程语言语法高亮
数据库设计
- User: 用户表(id, username, email, password_hash, role, created_at)
- Document: 文档表(id, user_id, title, topic, level, target_audience, content, status, created_at)
- Evaluation: 评价表(id, document_id, overall_score, content_quality, structure_organization, clarity, completeness, pedagogical_value, feedback, created_at)