AI智能简历优化系统

SpringbootSpringAILLMPromptSSE小试牛刀
演示视频

项目简介:基于大模型完成简历上传解析、AI评分、问题诊断、优化建议、内容改写、Word下载、模拟面试题和生成记录管理,覆盖从简历诊断到求职准备的完整流程,并沉淀Prompt模板和改写策略。

查看 →
8道
学完能答的面试题
来自 AIGC 面试刷题网
7个
核心技术点
下方逐项列出
13章
视频 + 喂饭级文档
每个功能细节都讲透
查看 →
15项
完整功能模块
下方功能清单逐项列出

本项目覆盖的技术点

Spring AI ChatClient(同步 + 流式)Prompt 模板引擎结构化 JSON 输出SSE 流式输出文档解析(PDFBox / Apache POI / HTML 正则去标签)模型配置数据库化AI 调用记录统一落库

学完能答的面试题

学完这个项目,下面 8 道面试题你都能结合项目细节讲出来。题目在 AIGC 面试刷题网可以免费看。

① 原理题 · 刷题网能学会
大模型输出的 JSON 不合法时应该如何修复?
原理题,背熟就能答:Prompt 强约束只输出 JSON,解析前裁掉前后多余文字,解析失败要有兜底,不能让整个接口报错。
➜
② 项目追问 · 答案在这个项目里
你项目里 AI 改写后的简历是怎么写回去的?为什么不直接覆盖?
只有亲手做过才答得上:改写结果只是候选,用户点「采纳」后才写回 current_text,上传解析出的 original_text 一直保留,随时能对比和回退。
llm-02生成参数与解码策略大模型应用基础 · 1 题
1Temperature、Top-p、Top-k 如何影响大模型生成?部分涉及去刷题网 ↗
llm-03上下文窗口与长文本处理大模型应用基础 · 1 题
1什么是大模型的上下文窗口?长度越长越好吗?去刷题网 ↗
llm-07Token 预算与输出长度大模型应用基础 · 1 题
1如何控制大模型的输出长度并处理截断?去刷题网 ↗

系统架构

一张图看清整个系统的分层与核心链路,点开可缩放查看细节。

  • 1
    接入层:简历工作台 + 管理端用户端上传解析、在线编辑、五项 AI 能力与导出;管理端维护模型配置、Prompt 模板和 AI 历史记录。
  • 2
    简历文本链路PDFBox / Apache POI 解析 PDF、Word,HTML 用正则去标签,original_text 上传即存档,current_text 是用户在线打磨的当前版本,导出 Word 用当前版本。
  • 3
    五项 AI 能力共用一条管线当前简历 + 目标岗位套 Prompt 模板,SpringAiModelFactory 按库里配置构建 ChatClient;评分走同步调用解析 JSON,分析、建议、改写、面试题走 SSE 流式。
  • 4
    改写结果「候选 → 采纳」AI 改写只生成候选版本,用户确认采纳才写回 current_text,不采纳就只留在 AI 历史记录里。
  • 5
    一张表承载五类 AI 结果resume_ai_record 用 type 区分评分、分析、建议、改写、面试题,新增能力不用建表,历史查询与详情直接复用。
  • 6
    存储与模型底座MySQL 8;ai_model_config 和 prompt_template 两张表让换模型、调提示词都不用改代码。

技术栈

用到的框架、中间件和模型。

后端
JDK 21Spring Boot 4.1Spring AI 2.0MyBatisPageHelperHutool
AI 能力
ChatClient 同步 + 流式Prompt 模板引擎结构化 JSON 输出SSE 流式输出
文档处理
PDFBoxApache POI
前端
Vue 3Element PlusVue RouterAxios
数据库
MySQL 8
对话模型
deepseek-chat
DeepSeek · 管理端配置,可切换服务商
版本要求:JDK 21,MySQL 8,Node.js 18 以上,Maven 建议 3.8 及以上,Navicat 建议 16 及以上。

技术难点与解法

每一项优化都针对一个真实问题,讲清楚问题、做法和背后的原理。

01大模型输出不稳定

问题
诊断评分要拿到分数、等级、分析三个字段,可模型常在 JSON 前后带解释文字,或者用 ```json 包起来,直接解析就报错。
做法
Prompt 强约束只返回约定的 JSON;后端解析前截取第一个 { 到最后一个 },解析失败记录原始输出、给前端友好提示。
原理
把不确定的 AI 输出工程化成确定的业务数据:约束负责大多数情况,兜底负责剩下的,接口永远不因模型抽风而 500。

02AI 改写不能覆盖原文

问题
用户要能改、能回退、能对比原始版本,可 AI 改写一旦直接覆盖,原来的简历就找不回来了。
做法
original_text 存上传解析出的原文,current_text 存正在打磨的版本;AI 改写只生成候选,用户采纳后才写回当前版本。
原理
AI 负责提议,人负责拍板:写回业务数据前留一道人工确认,过程可控、数据安全。

03长文本让用户干等

问题
问题分析、优化建议都是长文本,等模型全部生成完再返回,用户要盯着转圈好几秒。
做法
后端用 SseEmitter 逐段推送模型的增量内容,前端用 fetch + ReadableStream 边收边展示。
原理
SSE 是基于 HTTP 的单向推送,实现比 WebSocket 轻,正好匹配「服务端单向吐文本」的场景。

04每加一种 AI 能力就要建一张表

问题
评分、分析、建议、改写、面试题五种 AI 能力,各建一张表的话,历史查询和详情查看也要写五遍。
做法
全部落到 resume_ai_record 一张表,用 type 区分;新增能力只扩展一个 type,记录、查询、详情三套能力直接复用。
原理
同构的数据用一张表加类型字段承载,扩展成本从「加表加接口」降到「加一个枚举值」。

功能清单

按角色看这个系统都能做什么。

AI 配置3 项

  • AI 模型配置维护服务商、接口地址、API Key、模型名称与启用状态
  • Prompt 模板管理维护评分、分析、建议、改写、面试题各场景的 Prompt 模板
  • AI 历史记录按用户、简历标题、模型、Prompt 编码、记录类型筛选,查看完整输入输出

系统3 项

  • 系统首页查看平台整体数据与 AI 调用概况统计
  • 用户信息管理系统所有用户,支持新增、编辑、删除、分页查询
  • 个人资料登录、个人信息、修改密码

页面截图

共 6 张

真实运行截图,点击大图查看高清原图。

简历工作台 · AI 问题分析点击放大
01 / 6简历工作台 · AI 问题分析左边是当前简历文本,右边选模型和 Prompt 模板,流式输出问题分析

你将获得

购买后可以拿到的全部内容。

喂饭级学习教程13 章

从登录注册、统一返回这些工程底座讲起,到诊断评分、问题分析、改写采纳、模拟面试题,按开发顺序一章一章讲。

完整源码 + SQL

Spring Boot 后端 + Vue3 前端完整源码,MySQL 建表脚本和初始化数据,附两份示例简历。

配套面试文档

电梯陈述、架构与选型、核心技术点深挖、高频面试题和难点包装,面试时照着讲。

环境安装文档

JDK、MySQL、Node.js、Maven 等开发环境的安装与配置。

项目运行文档

数据库初始化、前后端启动、模型配置,从零把项目跑起来。

常见问题

下单前最常被问到的几个问题。

这个项目是 Java 还是 Python?

后端是 Java(JDK 21 + Spring Boot 4.1 + Spring AI 2.0),前端是 Vue3。

模型需要自己准备吗?

需要自己在 DeepSeek 开放平台创建 API Key,在管理端「AI 模型配置」里填入即可,不用改代码。模型走接口调用,不需要显卡。

基础薄弱能学会吗?

教程是喂饭级的,从登录注册、统一返回这些工程底座讲起,每章都有验证步骤。基础不够的话,可以先按上面的「学习路径」从基础项目学起。

能写进简历、用作毕业设计吗?

可以,配套面试文档里有项目介绍、难点包装和高频追问,照着就能讲清楚。至于毕业设计,有小伙伴问过我,统一回答一下:AI 实战库板块的项目拿去做毕业设计,就四个字——降维打击。

源码能用于商业项目吗?

源码和教程本质上是给大家学习、提升技能的。如果需要商用,自己二次开发一下也没问题,但禁止原项目 + 教程转手倒卖。我是一个程序员,能看到你们学习我的教程提升能力,能听你们叫我一声大佬,挺幸福的!知足~

售后答疑

买完不是结束

跟着教程学习,遇到问题不用自己硬扛。

专门的付费答疑群,有问题随时问学习过程中卡住了直接问,无后顾之忧。
原理没吃透哪个知识点没想明白,直接在群里问
代码看不懂哪一章哪一段代码卡住就问哪里
没事也能交流交流和一起学的同学吹吹水,岂不快哉
把这 8 道面试题,变成你做过的项目喂饭级学习教程 + 完整源码 + SQL + 配套面试文档 + 环境安装文档,一次拿全
¥99¥149
限时优惠,已省 ¥50
  • 购买前请观看完整功能演示视频和了解左侧项目信息
  • 源码和教程资料属于虚拟产品,下单后不支持退款
成长 VIP 更划算满2单 8 折 性价比拉满 去看看 AI 实战会员永久解锁全部 AI 实战项目 查看权益
¥99¥1498 道面试题学完就能答