智能求職推薦系統
基于知識圖譜和大語言模型的智能求職推薦系統,為求職者提供個性化崗位推薦和AI驅動的匹配分析。
🚀 系統特性
- 智能推薦: 基于知識圖譜的多維度職位匹配
- AI分析: 集成DeepSeek大模型提供深度分析和建議
- 可視化展示: 使用ECharts展示推薦結果和知識圖譜關系
- 現代化架構: 前后端分離,微服務設計
- 雙數據庫: MySQL關系數據庫 + Neo4j圖數據庫
🏗? 系統架構
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Vue.js 前端 │────│ Spring Boot后端 │────│ MySQL數據庫 │
│ (Element Plus) │ │ (REST API) │ │ (用戶數據) │
└─────────────────┘ └─────────────────┘ └─────────────────┘││
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Python推薦服務 │ │ Neo4j圖數據庫 │ │ DeepSeek API │
│ (推薦算法) │ │ (知識圖譜) │ │ (AI分析) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
📋 功能模塊
1. 求職者管理
- ? 個人簡歷錄入和管理
- ? 技能、經驗、偏好設置
- ? 期望薪資和工作地點配置
2. 企業崗位管理
- ? 崗位信息發布和編輯
- ? AI自動崗位分類
- ? 崗位數據同步到知識圖譜
3. 智能推薦引擎
- ? 基于知識圖譜的語義推薦
- ? 多因子匹配算法(技能、地點、行業、薪資)
- ? 推薦解釋和理由生成
4. AI深度分析
- ? DeepSeek大模型集成
- ? 個性化匹配分析報告
- ? 職業發展建議生成
5. 可視化展示
- ? 推薦結果可視化界面
- ? 知識圖譜關系展示
- ? 交互式圖表和動畫效果
🛠? 技術棧
前端
- 框架: Vue 3 + Composition API
- UI庫: Element Plus
- 圖表: ECharts + Vue-ECharts
- 路由: Vue Router 4
- HTTP: Axios
后端
- 框架: Spring Boot 2.7
- 數據庫: Spring Data JPA + Spring Data Neo4j
- API: RESTful Web Services
- 依賴注入: Spring Framework
數據存儲
- 關系數據庫: MySQL 8.0
- 圖數據庫: Neo4j (可選)
- 數據持久化: JPA + Cypher查詢
AI服務
- 大語言模型: DeepSeek API
- 推薦算法: 自定義Python服務
- 數據分析: Pandas + NumPy
🚀 快速開始
環境要求
- Java 11+
- Node.js 16+
- Python 3.8+
- MySQL 8.0+
- Neo4j 4.4+ (可選)
安裝步驟
-
克隆項目
git clone <repository-url> cd job-recommendation-system
-
配置數據庫
# 啟動MySQL sudo systemctl start mysql# 創建數據庫 mysql -u root -p -e "CREATE DATABASE job_recommendation"# 啟動Neo4j (可選) neo4j start
-
配置DeepSeek API
# 編輯后端配置文件 vim backend/src/main/resources/application.yml # 更新API密鑰: sk-your-deepseek-api-key
-
一鍵啟動系統
./start-system.sh
-
訪問系統
- 前端界面: http://localhost:8081
- 后端API: http://localhost:8080
- Python服務: http://localhost:5000
手動啟動
如果需要手動啟動各個服務:
# 1. 啟動Python推薦服務
cd python-service
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python app.py &# 2. 啟動Spring Boot后端
cd backend
mvn spring-boot:run &# 3. 啟動Vue.js前端
cd frontend
npm install
npm run serve &
📊 系統監控
檢查系統狀態
./check-system.sh
查看實時日志
# 查看所有服務日志
tail -f logs/*.log# 查看特定服務日志
tail -f logs/backend.log
tail -f logs/frontend.log
tail -f logs/python-service.log
停止系統
./stop-system.sh
🎯 使用演示
1. 創建求職者檔案
- 訪問 http://localhost:8081
- 點擊"員工簡歷錄入"
- 填寫個人信息、技能、期望等
- 點擊"保存簡歷"
2. 發布崗位信息
- 點擊"企業崗位發布"
- 輸入職位詳細信息
- 系統自動進行AI分類
- 數據同步到知識圖譜
3. 獲取智能推薦
- 在簡歷頁面點擊"獲取推薦"
- 查看個性化推薦列表
- 展開詳細匹配分析
- 查看AI生成的深度分析
4. 瀏覽知識圖譜
- 在推薦頁面點擊"顯示知識圖譜"
- 交互式瀏覽實體關系
- 理解推薦邏輯和關聯性
🔧 配置說明
后端配置 (backend/src/main/resources/application.yml
)
spring:datasource:url: jdbc:mysql://localhost:3306/job_recommendationusername: rootpassword: rootneo4j:uri: bolt://localhost:7687authentication:username: neo4jpassword: passwordpython-service:url: http://localhost:5000
前端配置 (frontend/src/config
)
- API基礎URL配置
- 路由和組件配置
- Element Plus主題配置
DeepSeek API配置
在 DeepSeekService.java
中更新您的API密鑰:
private final String API_KEY = "sk-your-deepseek-api-key";
🧪 測試數據
系統啟動時會自動加載示例數據:
- 職位數據: 8個不同行業和技能要求的職位
- 求職者數據: 3個不同背景的求職者檔案
- 技能標簽: Java、Python、前端開發等技術棧
📈 擴展開發
添加新的推薦算法
- 在
RecommendationService
中實現新算法 - 在
python-service
中添加算法API - 更新前端展示邏輯
集成其他大模型
- 創建新的AI服務類
- 實現統一的AI接口
- 在配置中切換模型提供商
增加新的可視化
- 在前端添加新的ECharts圖表
- 創建對應的數據處理API
- 更新用戶界面布局
🐛 常見問題
Q: 系統啟動失敗怎么辦?
A:
- 檢查端口占用:
netstat -tulpn | grep :8080
- 查看錯誤日志:
tail -f logs/backend.log
- 確認數據庫連接正常
- 重新啟動:
./stop-system.sh && ./start-system.sh
Q: DeepSeek API調用失敗?
A:
- 檢查API密鑰是否正確
- 確認網絡連接正常
- 查看API調用日志
- 系統會自動降級到基礎推薦
Q: Neo4j連接失敗?
A:
- Neo4j是可選組件,不影響核心功能
- 檢查Neo4j服務狀態:
neo4j status
- 確認配置文件中的連接參數
- 系統會自動回退到MySQL存儲
Q: 前端頁面無法加載?
A:
- 檢查Node.js版本:
node --version
- 重新安裝依賴:
cd frontend && npm install
- 檢查前端服務日志
- 確認后端API服務正常