# papercheck **Repository Path**: SirLeon/papercheck ## Basic Information - **Project Name**: papercheck - **Description**: 给学生的python使用AI项目的代码。 更多内容,请访问pi-apple.com - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-05 - **Last Updated**: 2026-04-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 📚 论文评分系统 > **pi-apple.com - 智能论文评分系统** > 让论文评分更简单、更智能、更公平 --- ## 📖 项目简介 这是一个基于人工智能的**毕业论文任务书评分系统**,能够自动对上传的论文任务书进行智能评分,并给出详细的改进建议。系统支持多种评分方式,既可以使用在线API(如通义千问、智谱GLM、OpenAI等),也可以使用本地开源模型进行评分。 ### ✨ 核心功能 - 🎯 **智能评分**:基于详细的评分细则,对论文任务书进行全方位评分 - 📝 **详细反馈**:提供逐项评分、扣分说明和改进建议 - 🔄 **多种模式**:支持API模式和本地模型模式 - 📊 **文档管理**:支持文档上传、存储、搜索和下载 - 🌐 **Web界面**:提供友好的Web界面,操作简单直观 --- ## 🚀 快速开始 ### 1️⃣ 系统要求 - **操作系统**:Windows / macOS / Linux - **Python版本**:Python 3.10 或更高版本 - **内存要求**: - API模式:至少 4GB RAM - 本地模型模式:至少 8GB RAM(推荐 16GB) ### 2️⃣ 安装步骤 #### 方法一:使用API模式(推荐新手) 1. **克隆项目** ```bash git clone https://github.com/pi-apple/paper-check.git cd paper-check ``` 2. **安装依赖** ```bash pip install -r requirements.txt ``` 3. **配置API密钥** ```bash # 复制配置文件模板 cp .env.example .env # 编辑.env文件,填入你的API密钥 # Windows: notepad .env # macOS/Linux: nano .env ``` 4. **运行系统** ```bash python app.py ``` 5. **访问系统** 打开浏览器,访问:http://localhost:5000 #### 方法二:使用本地模型模式(适合离线环境) 1. **安装依赖**(同上) 2. **配置本地模型** 编辑 `.env` 文件: ```env # 不配置任何API密钥,系统会自动使用本地模型 LOCAL_MODEL_NAME=internlm/internlm2-chat-1_8b LOCAL_MODEL_DEVICE=cpu ``` 3. **运行系统**(同上) > ⚠️ **注意**:首次运行会自动下载模型(约4GB),请确保网络畅通和足够的磁盘空间。 --- ## ⚙️ 配置说明 ### API密钥配置 系统支持以下API提供商(按优先级排序): | API提供商 | 环境变量 | 获取方式 | 推荐指数 | |---------|---------|---------|---------| | 通义千问 | `QWEN_API_KEY` | [点击获取](https://dashscope.console.aliyun.com/) | ⭐⭐⭐⭐⭐ | | 智谱GLM | `GLM_API_KEY` | [点击获取](https://open.bigmodel.cn/) | ⭐⭐⭐⭐ | | OpenAI | `OPENAI_API_KEY` | [点击获取](https://platform.openai.com/) | ⭐⭐⭐ | ### 配置文件示例 创建 `.env` 文件并填入以下内容: ```env # 通义千问配置(推荐) QWEN_API_KEY=your_qwen_api_key_here QWEN_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1 QWEN_MODEL=qwen-plus # 智谱GLM配置(备选) GLM_API_KEY=your_glm_api_key_here GLM_BASE_URL=https://open.bigmodel.cn/api/paas/v4/ GLM_MODEL=glm-4 # OpenAI配置(备选) OPENAI_API_KEY=your_openai_api_key_here OPENAI_BASE_URL=https://api.openai.com/v1 OPENAI_MODEL=gpt-4 # 本地模型配置 # 如果没有配置任何API密钥,系统会自动使用本地模型 LOCAL_MODEL_NAME=internlm/internlm2-chat-1_8b LOCAL_MODEL_DEVICE=cpu # Embedding模型配置(用于文档向量化) # 开源模型,无需token即可下载使用 EMBEDDING_MODEL=BAAI/bge-small-zh-v1.5 # HuggingFace配置(可选) # HF_TOKEN=your_huggingface_token_here # HF_HOME=/path/to/your/cache/directory # 生成参数 MAX_TOKENS=4096 TEMPERATURE=0.7 ``` > 💡 **提示**: > - **有API密钥**:配置任意一个API密钥,系统会自动使用该API进行评分 > - **无API密钥**:如果不配置任何API密钥,系统会自动使用本地模型 > - **优先级**:QWEN > GLM > OpenAI > 📝 **Embedding模型说明**: > - **自动下载**:首次运行时自动从HuggingFace下载模型到系统缓存目录(~/.cache/huggingface) > - **无需token**:开源模型,无需HF_TOKEN即可下载使用 > - **可选配置**:配置HF_TOKEN可提高下载速度和速率限制 > - **自定义缓存**:可通过HF_HOME环境变量自定义模型缓存位置 --- ## 📖 使用指南 ### Web界面使用 1. **上传文档** - 打开浏览器访问 http://localhost:5000 - 点击"上传文件"按钮 - 选择要评分的论文任务书(支持 .docx、.pdf、图片格式) - 点击"提交" 2. **查看评分** - 系统会自动进行评分 - 显示总分、各项得分、扣分说明 - 提供详细的改进建议 3. **管理文档** - 查看已上传的文档列表 - 下载历史文档 - 删除不需要的文档 ### API接口使用 系统提供RESTful API接口,可以集成到其他系统中: #### 上传并评分文档 ```bash curl -X POST http://localhost:5000/api/upload \ -F "file=@your_document.docx" ``` #### 搜索相似文档 ```bash curl -X POST http://localhost:5000/api/search \ -H "Content-Type: application/json" \ -d '{"query": "深度学习", "top_k": 5}' ``` #### 获取文件列表 ```bash curl http://localhost:5000/api/files ``` --- ## 📁 项目结构 ``` PaperCheck/ ├── 📂 backend/ # 后端核心模块 │ ├── scoring_service.py # 评分服务 │ └── document_processor.py # 文档处理 ├── 📂 llm/ # 大语言模型模块 │ ├── api_llm.py # API调用实现 │ ├── local_llm.py # 本地模型实现 │ └── factory.py # 模型工厂 ├── 📂 prompt_engineering/ # 提示词工程 │ └── prompt_template.py # 提示词模板 ├── 📂 service/ # 服务模块 │ ├── chroma_service.py # 向量数据库服务 │ └── embedding_service.py # 文本向量化服务 ├── 📂 templates/ # Web模板 │ └── aiAssistant.html # 主页面 ├── 📂 prompt/ # 评分细则 │ └── 任务书评分细则.txt # 评分标准 ├── 📂 files/ # 上传文件存储 ├── 📂 unit_tests/ # 测试文件 ├── 📄 app.py # 主应用 ├── 📄 config.py # 配置管理 ├── 📄 requirements.txt # 依赖列表 ├── 📄 .env.example # 配置模板 └── 📄 README.md # 说明文档 ``` --- ## 🎯 评分标准 系统采用百分制评分,包含以下7个评估维度: | 评估维度 | 满分 | 说明 | |---------|------|------| | 课题基本信息明确性 | 10分 | 题目、专业方向、研究类型 | | 研究背景与意义 | 15分 | 研究现状、理论价值、实践价值 | | 核心研究/设计内容 | 25分 | 研究对象、关键内容、执行模块 | | 研究方法与技术路线 | 15分 | 方法适配性、技术路线清晰度 | | 任务具体要求 | 15分 | 性能指标、成果标准、质量要求 | | 进度安排 | 10分 | 阶段划分、时间节点、任务分配 | | 预期成果/交付物 | 10分 | 成果类型、数量、呈现形式 | > 📋 **评分细则**:详细的评分标准请查看 [prompt/任务书评分细则.txt](prompt/任务书评分细则.txt) --- ## ❓ 常见问题 ### Q1: 安装依赖时出现错误怎么办? **A:** 尝试以下解决方案: 1. 确保Python版本 >= 3.10 2. 使用国内镜像源: ```bash pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple ``` 3. 如果torch安装失败,可以单独安装: ```bash pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu ``` ### Q2: 如何获取API密钥? **A:** - **通义千问**:访问 https://dashscope.console.aliyun.com/ 注册并创建API Key - **智谱GLM**:访问 https://open.bigmodel.cn/ 注册并获取API Key - **OpenAI**:访问 https://platform.openai.com/ 注册并创建API Key ### Q3: 本地模型模式需要什么配置? **A:** - **最低配置**:8GB RAM,10GB磁盘空间 - **推荐配置**:16GB RAM,20GB磁盘空间 - **GPU加速**:如有NVIDIA显卡,可修改 `.env` 中的 `LOCAL_MODEL_DEVICE=cuda` > 💡 **提示**:系统默认使用InternLM2-Chat-1.8B模型(约4GB),相比7B模型大幅降低了硬件要求。 ### Q4: Embedding模型下载失败怎么办? **A:** 1. **自动下载**:首次运行时系统会自动从HuggingFace下载embedding模型(约100MB) 2. **缓存位置**:模型会缓存到 `~/.cache/huggingface/hub` 目录 3. **提高速度**:配置HF_TOKEN可提高下载速度和速率限制(可选) 4. **自定义缓存**:通过环境变量HF_HOME自定义缓存目录 5. **离线使用**:模型下载后会缓存到本地,之后可离线使用 ### Q5: 评分结果不准确怎么办? **A:** 1. 检查上传的文档是否清晰完整 2. 确保文档格式正确(推荐使用 .docx 格式) 3. 尝试使用更强大的模型(如 qwen-max 或 gpt-4) 4. 查看评分细则,了解评分标准 ### Q5: 系统支持哪些文档格式? **A:** - ✅ Microsoft Word (.docx) - ✅ PDF文档 (.pdf) - ✅ 图片格式 (.png, .jpg, .jpeg, .bmp) ### Q6: 如何修改评分标准? **A:** 编辑 `prompt/任务书评分细则.txt` 文件,按照原有格式修改评分标准即可。 --- ## 🔧 高级配置 ### 自定义模型参数 在 `.env` 文件中可以调整以下参数: ```env # 生成参数 MAX_TOKENS=4096 # 最大生成长度 TEMPERATURE=0.7 # 生成温度(0-1,越高越随机) # 本地模型参数 LOCAL_MODEL_NAME=internlm/internlm2-chat-1_8b # 模型名称 LOCAL_MODEL_DEVICE=cpu # 运行设备(cpu/cuda) ``` ### 使用自定义模型 系统支持HuggingFace上的任何因果语言模型,推荐使用中文优化的小模型: ```env # 推荐的中文小模型(按参数量排序) LOCAL_MODEL_NAME=internlm/internlm2-chat-1_8b # 1.8B参数,中文优化 LOCAL_MODEL_NAME=TinyLlama/TinyLlama-1.1B-Chat-v1.0 # 1.1B参数,英文为主 LOCAL_MODEL_NAME=microsoft/phi-2 # 2.7B参数,英文为主 ``` --- ## 🤝 技术支持 ### 获取帮助 - 📧 **邮件支持**:support@pi-apple.com - 💬 **在线客服**:访问 https://pi-apple.com - 📚 **文档中心**:https://docs.pi-apple.com ### 报告问题 如果遇到问题,请提供以下信息: 1. 操作系统版本 2. Python版本 3. 错误信息截图 4. 复现步骤 --- ## 📄 许可证 本项目版权归 **pi-apple.com** 所有。 ``` pi-apple.com - 论文评分系统 Copyright (c) 2025 pi-apple.com 本软件仅供学习和研究使用,未经授权不得用于商业用途。 ``` --- ## 🙏 致谢 感谢以下开源项目: - [LangChain](https://github.com/langchain-ai/langchain) - LLM应用框架 - [Transformers](https://github.com/huggingface/transformers) - 预训练模型库 - [Flask](https://github.com/pallets/flask) - Web框架 - [ChromaDB](https://github.com/chroma-core/chroma) - 向量数据库 ---