Skip to content

About

基于 DeepSeek 大模型的智能求职辅助平台:简历解析与优化、岗位匹配、AI 模拟面试、复盘报告

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

智能求职辅助系统

基于大模型(DeepSeek)的求职辅助平台,将「简历管理 → 岗位匹配 → 模拟面试 → 复盘报告」整合为一条完整链路,覆盖求职者从准备到冲刺的核心场景。

核心功能

简历管理

  • 简历上传与智能解析:支持 PDF / Word / TXT / 图片,内置 PaddleOCR 文字识别,后台异步解析并通过 SSE 实时推送进度;可选接入 MinerU 提升复杂版式解析效果
  • 在线编辑:支持手动新建简历、在线编辑、解析结果人工校正
  • AI 体检与定向优化:对已有简历执行 AI 健康检查;针对目标岗位(基于匹配结果)生成定向优化建议
  • PDF 导出:一键导出规范排版的简历 PDF

岗位探索与匹配

  • 岗位库:内置技术 / 财务会计 / 市场营销等行业分类,含来自国家大学生就业服务平台的真实岗位模板(技能要求、薪资范围、学历与经验门槛)
  • 自定义 JD(高级):粘贴任意岗位描述(JD)进行匹配分析
  • 多维匹配评分:从技能、经验、学历三个维度对简历与岗位进行匹配分析,输出综合评分、命中/缺失技能明细与针对性优化建议
  • 收藏与历史:岗位收藏、匹配历史记录

AI 模拟面试

  • 实时对话:基于 WebSocket 的实时模拟面试,支持断线重连与会话恢复
  • 智能出题:题库基于 BM25 检索,按岗位类别/技能方向抽取题目,可自定义题目数量与范围
  • 逐题 AI 评估:每次回答由 AI 即时评分并给出反馈,支持追问提示
  • 智能追问:根据回答质量自动生成追问(最多两级深度)
  • 面试统计:结束自动汇总成绩与统计信息

复盘报告

  • 面试结束后生成结构化复盘报告:总分、技能维度得分、题目得分分布、逐题详情与改进建议
  • 关联目标岗位上下文与简历匹配摘要,输出 PDF 报告

用户系统

  • 注册 / 登录(JWT 认证,7 天有效)
  • 邮箱找回密码 / 重置密码 / 修改密码
  • 登录接口限流(防止暴力破解),资源访问越权校验(用户仅可访问自己的数据)

技术架构

┌─────────────────────────────────────────────────────────┐
│                    Frontend (Vue 3 + Vite)               │
│   Element Plus · Pinia · Vue Router · ECharts · Axios    │
└───────────────┬─────────────────────────┬────────────────┘
                │ HTTP (REST)             │ WebSocket
                ▼                         ▼
┌─────────────────────────────────────────────────────────┐
│                 Backend (FastAPI)                        │
│  ┌─────────┐ ┌──────────┐ ┌───────────┐ ┌────────────┐  │
│  │ 认证/用户│ │ 简历服务 │ │ 匹配服务  │ │ 面试服务   │  │
│  └─────────┘ └──────────┘ └───────────┘ └────────────┘  │
│  SQLAlchemy (SQLite) · BM25 题库检索 · 日志/限流中间件    │
└───────┬─────────────────┬──────────────────┬────────────┘
        │                 │                  │
        ▼                 ▼                  ▼
   SQLite (自动建表)   DeepSeek API       SMTP 邮件服务
                      (阿里云百炼备链路)

技术栈

后端 backed/

类别 技术
Web 框架 FastAPI(REST + WebSocket + SSE)
ORM / 数据库 SQLAlchemy 2.0,SQLite(启动时自动建表与初始化)
数据校验 Pydantic v2 + pydantic-settings
认证安全 python-jose(JWT)、passlib/bcrypt、登录限流
AI 接入 DeepSeek API(主链路);阿里云百炼(自动降级备份链路)
文档解析 PaddleOCR、pdfplumber、PyPDF2、python-docx;可选 MinerU API
检索 BM25(面试题库检索)
报告生成 reportlab(PDF)

前端 frontend/

类别 技术
框架 Vue 3(Composition API)+ Vite 5
UI Element Plus(按需自动导入,主题色 #2563EB)
状态 / 路由 Pinia · Vue Router(路由级鉴权)
可视化 ECharts
网络 Axios(统一封装 + JWT 注入)

快速开始

环境要求

  • Python 3.9+
  • Node.js 18+

1. 配置环境变量

在 backed/ 目录下创建 .env 文件(参考根目录 .env.example):

# DeepSeek API Key(AI 功能必填)
DEEPSEEK_API_KEY=sk-your-deepseek-api-key

# 邮件服务(找回密码功能,可选)
SMTP_HOST=smtp.qq.com
SMTP_PORT=587
SMTP_USERNAME=your-email@qq.com
SMTP_PASSWORD=your-smtp-auth-code

# 备用 AI 链路(可选):阿里云百炼
FALLBACK_API_KEY=
FALLBACK_API_URL=https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
FALLBACK_MODEL=deepseek-v4-flash

# 文档解析增强(可选):MinerU API Token,留空则使用内置解析方案
MINERU_TOKEN=

2. 安装依赖

# 后端(进入 backed/)
pip install -r requirements.txt

# 前端(进入 frontend/)
npm install

3. 启动

方式一:双击根目录 启动.bat,同时启动后端与前端。

方式二:手动启动

# 后端(端口 8000)
cd backed
python start_backend.py

# 前端(端口 3000,已配置 /api 代理)
cd frontend
npm run dev

访问 http://localhost:3000;Swagger 接口文档见 http://localhost:8000/docs。

项目结构

.
├── backed/                          # 后端服务(FastAPI)
│   ├── app/
│   │   ├── core/                   # 配置、数据库、安全、日志、限流
│   │   ├── models/                 # SQLAlchemy 模型(用户/简历/面试/匹配等)
│   │   ├── routers/                # API 路由(auth/resumes/jobs/interview_ws/reports…)
│   │   ├── schemas/                # Pydantic 请求/响应模型
│   │   ├── services/               # 业务层(AI 客户端/解析/匹配/面试/报告…)
│   │   └── main.py                 # 应用入口(路由注册、CORS、启动迁移)
│   ├── knowledge_base/             # 知识库(JSON)
│   │   ├── categories.json         # 岗位分类与技能库索引
│   │   ├── skills_*.json           # 各行业技能库
│   │   ├── questions_*.json        # 各行业面试题库
│   │   └── job_templates/          # 岗位模板(含真实岗位数据)
│   ├── requirements.txt
│   └── start_backend.py
├── frontend/                        # 前端应用(Vue 3 + Vite)
│   ├── src/
│   │   ├── api/                    # 接口封装(auth/resume/jobs/interview/reports…)
│   │   ├── components/             # 通用组件
│   │   ├── composables/            # 组合式函数
│   │   ├── layouts/                # 页面布局
│   │   ├── router/                 # 路由(含登录鉴权守卫)
│   │   ├── stores/                 # Pinia 状态
│   │   ├── styles/                 # 全局样式(SCSS)
│   │   ├── utils/                  # 工具(token 状态管理等)
│   │   └── views/                  # 页面视图
│   ├── index.html
│   ├── package.json
│   └── vite.config.js              # 构建/代理/按需自动导入配置
├── 启动.bat                         # 一键启动脚本
├── .env.example                    # 环境变量模板
└── .gitignore

API 概览

模块 路由前缀 说明
认证 /api/v1/auth 注册、登录、找回/重置/修改密码、当前用户
简历 /api/v1/resumes 上传解析、在线编辑、AI 体检、定向优化、PDF 导出、SSE 进度
岗位 /api/v1/jobs 岗位 CRUD、匹配分析、匹配结果、收藏
面试 /ws/interview/{id} + /api/v1/interview WebSocket 实时面试、会话管理、统计
报告 /api/v1/reports 面试复盘报告
题库 /api/v1/questions 面试题检索(BM25)

环境变量参考

变量 必填 说明
DEEPSEEK_API_KEY ✅ DeepSeek 官方 API Key,驱动全部 AI 能力
SMTP_* 找回密码 QQ 邮箱等 SMTP 服务配置
FALLBACK_API_KEY 可选 阿里云百炼 Key,DeepSeek 不可用时自动切换
MINERU_TOKEN 可选 MinerU API Token,增强文档解析
SECRET_KEY 可选 JWT 签名密钥,未配置时自动生成并落盘

说明

  • 数据库使用 SQLite,后端首次启动自动建表并初始化岗位、题库等基础数据
  • 岗位库中的真实岗位数据来自国家大学生就业服务平台,仅供学习参考
  • 简历生成(对话式)模块已弃用,代码保留但前端无入口,不影响现有功能
  • 请妥善保管 .env 中的密钥,切勿提交到版本库

开源协议

本项目基于 MIT License 开源,可自由使用、修改与商用(需保留版权声明)。

About

基于 DeepSeek 大模型的智能求职辅助平台:简历解析与优化、岗位匹配、AI 模拟面试、复盘报告

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages