# database_s_work **Repository Path**: mui-pear/database_s_work ## Basic Information - **Project Name**: database_s_work - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-05 - **Last Updated**: 2026-09-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 科目一题库管理与模拟考试系统 ## 无数据库、无依赖环境快速运行 电脑只需要安装并启动Docker Desktop,不需要单独安装Python、项目依赖或MySQL。 在项目根目录运行: ```bash docker compose up --build ``` 首次启动会自动完成以下工作: 1. 下载并启动MySQL 8和Python应用镜像。 2. 安装FastAPI、Uvicorn、PyMySQL等后端依赖。 3. 从完整备份初始化数据库,包括2896道题和1133张题目图片。 4. 在`8000`端口启动Web系统。 看到应用启动完成后,浏览器访问: ```text http://127.0.0.1:8000/ ``` 演示账号: - 普通用户:`20260001` / `123456` - 管理员:`admin` / `admin123` 停止运行时按`Ctrl+C`。需要在后台运行可执行: ```bash docker compose up -d --build ``` 后台运行时使用以下命令停止服务,数据库数据会保留在Docker数据卷中: ```bash docker compose down ``` ## 目录结构 ```text database_s_work/ ├── design/ # 设计过程资料 │ ├── photo/ # ER图等设计阶段图片 │ ├── question/ # 开发问题、技术决策与算法问答 │ ├── ref/ # 课程任务书、报告模板和原始参考资料 │ └── tech_docs/ # 数据库、系统与算法设计技术文档 ├── source/ # 后端、数据库和离线处理代码 │ ├── core/ # FastAPI后端应用 │ │ ├── app/ # 配置、数据库连接、鉴权和应用入口 │ │ │ └── routers/ # 登录、考试、题目图片和统计API │ │ ├── Dockerfile # 后端应用镜像构建文件 │ │ ├── requirements.txt # 运行依赖 │ │ └── requirements-dev.txt # 测试与开发依赖 │ ├── dataset/ # 题库数据与数据库定义 │ │ ├── backup/ # 含表结构、题目和图片的完整SQL备份 │ │ ├── images/ # 原始题图和解析后的图片文件 │ │ ├── migrations/ # 旧数据库结构升级脚本 │ │ ├── schema.sql # 空数据库结构、约束、视图和基础数据 │ │ └── *.json / *.md # 导入、分类、去重、合并和抽查报告 │ └── tools/ # DOCX解析、导入、爬取、分类和去重工具 │ └── crawl_output/ # 网上题库抓取的原始JSONL结果 ├── web/ # 浏览器前端 │ ├── assets/ # 页面图片等静态资源 │ ├── css/ # 公共页面样式 │ ├── js/ # API请求与前端公共逻辑 │ ├── login.html # 用户和管理员登录页 │ ├── index.html # 组卷入口与用户工作台 │ ├── exam.html # 单选、判断和多选答题页 │ └── stats.html # 个人统计与管理员系统统计页 ├── tests/ # FastAPI接口、权限、判分和组卷测试 ├── submission/ # 按课程任务书分类的最终交付材料 │ ├── 01_报告与文档/ # 实践报告、技术文档、问题记录和用户手册 │ ├── 02_图纸/ # ER图、UML图、数据流和模块结构图 │ ├── 04_数据库/ # 数据库备份、结构、迁移和质量报告 │ ├── 05_演示材料/ # 答辩演示提纲 │ └── 06_加分项/ # 六类加分任务的算法、数据和报告 ├── docker-compose.yml # 一键启动应用与完整MySQL题库 ├── .env.example # 非Docker部署的环境变量示例 ├── pytest.ini # 测试配置 ├── 用户使用手册.md # 用户、管理员和维护操作说明 ├── 项目开发计划.md # 项目阶段、任务与进度记录 └── 工作时长记录.md # 开发工时和Agent资源使用记录 ``` ## DeepSeek Agent题库审核 该功能面向题库维护人员,不属于普通用户网页操作。脚本先用本地算法生成重复题和答案风险排行,再由DeepSeek Agent进行结构化仲裁。API密钥只从环境变量读取,不要写入代码、报告或提交文件。 先安装分析依赖,并设置数据库与DeepSeek配置: ```bash python -m pip install -r submission/06_加分项/requirements_bonus.txt export DB_PASSWORD="数据库密码" export DEEPSEEK_API_KEY="DeepSeek API密钥" export DEEPSEEK_MODEL="服务商控制台显示的V4 Flash实际模型ID" ``` Windows PowerShell使用: ```powershell $env:DB_PASSWORD="数据库密码" $env:DEEPSEEK_API_KEY="DeepSeek API密钥" $env:DEEPSEEK_MODEL="服务商控制台显示的V4 Flash实际模型ID" ``` 仅审核并生成建议,不修改数据库: ```bash python source/tools/bonus_analysis.py --agent-review --agent-scope high ``` 允许Agent仲裁删除高置信重复题: ```bash python source/tools/bonus_analysis.py --agent-review --agent-resume \ --apply-agent-deletions --agent-delete-min-confidence 0.90 ``` 删除模式会先将题目、Agent裁决和图片BLOB写入`QUESTION_DELETION_ARCHIVE`、`IMAGE_DELETION_ARCHIVE`,再在同一事务中删除。存在历史考试或答题引用、图片内容未送审、重复簇裁决冲突的题目会自动阻断。答案校验只生成修正建议,不自动更新`QUESTION.answer`。详细输出位于`submission/06_加分项/02_重复题检测/`、`03_答案正确性/`和`06_大模型与Agent/`。