基于Django框架开发的论文生成和查重系统,集成了AI模型生成功能和第三方查重API。
- 使用OpenAI GPT模型生成学术论文
- 支持自定义论文主题和要求
- 可调节生成参数(温度、最大令牌数等)
- 异步处理,提高用户体验
- 集成第三方查重API
- 支持相似度检测和详细报告
- 模拟查重功能(用于演示)
- 查重历史记录管理
- 用户注册、登录、认证
- 个人仪表板
- 使用统计和历史记录
- 用户偏好设置
- 响应式设计,支持移动端
- Bootstrap 5 + Font Awesome
- 直观的用户界面
- 实时状态更新
- 后端: Django 4.2 + Django REST Framework
- 数据库: SQLite (可扩展为PostgreSQL/MySQL)
- 异步任务: Celery + Redis
- AI模型: OpenAI GPT
- 前端: Bootstrap 5 + jQuery
- 部署: 支持Docker部署
# 克隆项目
git clone <repository-url>
cd Paper-Checking-And-Generate-System
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt# 复制环境变量文件
cp .env.example .env
# 编辑 .env 文件,配置以下参数:
# - SECRET_KEY: Django密钥
# - OPENAI_API_KEY: OpenAI API密钥
# - PLAGIARISM_API_KEY: 查重API密钥(可选)
# - REDIS_URL: Redis连接URL# 创建迁移文件
python manage.py makemigrations
# 执行迁移
python manage.py migrate
# 创建超级用户
python manage.py createsuperuser
# 创建论文主题数据(可选)
python manage.py shell
>>> from papers.models import PaperTopic
>>> PaperTopic.objects.create(name="计算机科学", description="计算机科学相关论文")
>>> PaperTopic.objects.create(name="人工智能", description="AI和机器学习相关论文")
>>> exit()# 启动Redis服务器(另开终端)
redis-server
# 启动Celery工作进程(另开终端)
celery -A celery_app worker --loglevel=info
# 启动Django开发服务器
python manage.py runserver- 主页: http://127.0.0.1:8000/
- 管理后台: http://127.0.0.1:8000/admin/
- API文档: http://127.0.0.1:8000/api/
# 创建并生成论文
POST /api/papers/create_and_generate/
{
"title": "论文标题",
"topic_id": 1,
"requirements": "论文要求",
"model_used": "gpt-3.5-turbo",
"temperature": 0.7,
"max_tokens": 4000
}
# 查询生成状态
GET /api/papers/{id}/status/# 创建并开始查重
POST /api/plagiarism/create_and_check/
{
"title": "检测标题",
"content": "论文内容",
"paper_id": 1
}
# 查询检测状态
GET /api/plagiarism/{id}/status/Paper-Checking-And-Generate-System/
├── paper_system/ # Django项目配置
│ ├── settings.py # 项目设置
│ ├── urls.py # 主URL配置
│ └── ...
├── papers/ # 主应用
│ ├── models.py # 数据模型
│ ├── views.py # 视图函数
│ ├── serializers.py # API序列化器
│ ├── services.py # 业务逻辑
│ ├── tasks.py # Celery任务
│ └── ...
├── templates/ # HTML模板
│ ├── base.html # 基础模板
│ ├── papers/ # 应用模板
│ └── registration/ # 认证模板
├── static/ # 静态文件
├── media/ # 媒体文件
├── requirements.txt # Python依赖
├── .env.example # 环境变量示例
└── README.md # 项目说明
# 构建镜像
docker build -t paper-system .
# 运行容器
docker run -d -p 8000:8000 --env-file .env paper-system- 使用PostgreSQL或MySQL数据库
- 配置Nginx反向代理
- 使用Gunicorn作为WSGI服务器
- 配置SSL证书
- 设置定时任务和监控
- API密钥安全: 请妥善保管OpenAI API密钥,避免泄露
- 查重API: 默认使用模拟查重,生产环境需配置真实API
- Redis服务: Celery需要Redis服务支持异步任务
- 资源限制: 注意AI生成的token消耗和API调用频率限制
- Fork项目
- 创建功能分支
- 提交代码
- 发起Pull Request
MIT License
如有问题或建议,请通过以下方式联系:
- 提交Issue
- 发送邮件
注意: 本系统仅用于学术研究和教育目的,请遵守相关法律法规和学术道德规范。