Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI 简历追问教练

这是一个基于 Spring AI 的简历面试训练后端项目。用户上传 Markdown 格式简历后,系统会围绕项目经历、技术栈、个人职责和简历表达生成面试追问报告,帮助候选人提前准备“面试官会怎么深挖我”的问题。

项目不是普通的简历解析器,而是面向求职场景的 AI 后端应用:它关注追问、回答思路、薄弱点和简历优化建议。

核心功能

  • 上传 .md 格式简历。
  • 保存简历原文、文件名和内容哈希。
  • 基于 Spring AI ChatClient 生成中文 Markdown 追问报告。
  • 报告包含整体判断、高频追问、参考答案与可核验来源、项目深挖、简历优化建议和准备优先级。
  • 使用 MySQL 持久化简历和分析报告。
  • 使用 Redis 缓存相同简历内容的分析结果,减少重复 AI 调用。
  • 提供一个中文 HTML 页面,可以上传简历、生成报告、查看历史记录。
  • 未配置大模型 API Key 时,会启用本地兜底报告,方便先跑通流程。

技术栈

  • Java 21
  • Spring Boot 3.5.x
  • Spring AI 1.1.8
  • MyBatis-Plus
  • MySQL 8
  • Redis
  • 原生 HTML / CSS / JavaScript

目录结构

src/main/java/com/daily/resumeinterrogator
├── controller
├── dto
├── entity
├── exception
├── mapper
├── service
└── service/impl

数据库准备

项目使用 MySQL,默认连接:

host: localhost
port: 3306
database: resume_interrogator
username: 
password: 

如果你的 MySQL 密码不同,修改 src/main/resources/application.yml

spring:
  datasource:
    username: ${MYSQL_USERNAME:root}
    password: ${MYSQL_PASSWORD:你的密码}

启动前执行:

src/main/resources/schema.sql

Redis 准备

项目默认连接本机 Redis:

host: localhost
port: 6379
database: 0

Redis 用途:缓存相同 Markdown 简历的 AI 分析结果。缓存 key 使用简历内容的 SHA-256 指纹,避免重复调用大模型。

Spring AI 配置

如果要调用真实模型,需要配置环境变量:

OPENAI_API_KEY=你的 API Key
OPENAI_MODEL=gpt-4o-mini

如果不配置 OPENAI_API_KEY,配置文件会使用一个本地占位 key。真实调用会失败并进入本地兜底分析逻辑,因此项目仍然能演示完整流程。

IDEA 运行方式

  1. 用 IDEA 打开 2026-07-22 文件夹。
  2. 等 Maven 依赖下载完成。
  3. 启动 MySQL,执行 schema.sql
  4. 启动 Redis。
  5. 检查 application.yml 里的 MySQL 账号密码。
  6. 运行 ResumeInterrogatorApplication
  7. 浏览器打开:
http://localhost:8081

接口说明

上传简历

POST /api/resumes/upload
Content-Type: multipart/form-data
file: resume.md

生成追问报告

POST /api/resumes/{id}/interrogate

查看最近报告

GET /api/resumes/{id}/report

查看简历列表

GET /api/resumes

查看报告列表

GET /api/resumes/reports

查看统计信息

GET /api/resumes/dashboard

Docker 依赖说明

项目保留了 docker-compose.yml,用于启动 MySQL 和 Redis:

docker compose up -d

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages