139 lines
3.9 KiB
Markdown
139 lines
3.9 KiB
Markdown
# AI 功能禁用说明
|
||
|
||
## 📋 概述
|
||
|
||
根据需求,AI 接入功能暂时禁用,作为二期规划。当前使用简单的文本匹配来实现职位过滤功能。
|
||
|
||
## ✅ 已完成的修改
|
||
|
||
### 1. 创建文本匹配过滤服务
|
||
- ✅ 创建了 `api/middleware/job/job_filter_service.js`
|
||
- 实现基于文本匹配的职位分析
|
||
- 支持技能匹配、经验匹配、薪资匹配
|
||
- 支持外包检测和关键词过滤
|
||
|
||
### 2. 禁用 AI 服务调用
|
||
|
||
#### 2.1 jobManager.js
|
||
- ✅ 注释掉 `aiService` 引用
|
||
- ✅ 禁用 `analyzeResumeWithAI()` 调用
|
||
- ✅ 修改 `analyzeResume()` 使用文本匹配
|
||
|
||
#### 2.2 resumeManager.js
|
||
- ✅ 注释掉 `aiService` 引用
|
||
- ✅ 修改 `analyzeResume()` 使用文本匹配
|
||
- ✅ 修改 `calculateMatchScore()` 使用 `jobFilterService.analyzeJobMatch()`
|
||
|
||
#### 2.3 chatManager.js
|
||
- ✅ 注释掉 `aiService` 引用
|
||
- ✅ 修改 `generateChatContent()` 使用默认模板
|
||
- ✅ 修改 `generateInterviewInvitation()` 使用默认模板
|
||
- ✅ 添加 `generateDefaultChatContent()` 方法
|
||
- ✅ 添加 `generateDefaultInterviewInvitation()` 方法
|
||
|
||
## 🔧 文本匹配过滤功能
|
||
|
||
### 功能特性
|
||
|
||
1. **技能匹配度计算**
|
||
- 从职位描述中提取技能关键词
|
||
- 与简历技能进行匹配
|
||
- 计算匹配百分比(0-100分)
|
||
|
||
2. **经验匹配度计算**
|
||
- 从职位描述中提取经验要求
|
||
- 与简历工作经验进行匹配
|
||
- 计算匹配分数
|
||
|
||
3. **薪资合理性计算**
|
||
- 解析职位薪资范围
|
||
- 与期望薪资进行对比
|
||
- 计算匹配分数
|
||
|
||
4. **外包检测**
|
||
- 检测职位描述中的外包关键词
|
||
- 标记是否为外包岗位
|
||
|
||
5. **关键词过滤**
|
||
- 支持包含关键词过滤
|
||
- 支持排除关键词过滤
|
||
- 支持自定义排除关键词列表
|
||
|
||
### 使用示例
|
||
|
||
```javascript
|
||
const jobFilterService = require('./job_filter_service');
|
||
|
||
// 分析职位匹配度
|
||
const analysis = jobFilterService.analyzeJobMatch(jobInfo, resumeInfo);
|
||
console.log('综合分数:', analysis.overallScore);
|
||
console.log('技能匹配:', analysis.skillMatch);
|
||
console.log('是否为外包:', analysis.isOutsourcing);
|
||
|
||
// 过滤职位列表
|
||
const filteredJobs = jobFilterService.filterJobs(jobs, {
|
||
minScore: 60, // 最低匹配分数
|
||
excludeOutsourcing: true, // 排除外包
|
||
excludeKeywords: ['销售', '客服'] // 排除关键词
|
||
}, resumeInfo);
|
||
```
|
||
|
||
## 📝 默认模板
|
||
|
||
### 聊天内容模板
|
||
- **greeting**: "您好,我对这个岗位很感兴趣,希望能进一步了解。"
|
||
- **interview**: "感谢您的回复,我很期待与您进一步沟通。"
|
||
- **followup**: "您好,想了解一下这个岗位的最新进展。"
|
||
|
||
### 面试邀约模板
|
||
- "感谢您的邀请,我很期待与您面谈。请问方便的时间是什么时候?"
|
||
|
||
## ⚠️ 注意事项
|
||
|
||
1. **AI 服务文件保留**
|
||
- `api/middleware/job/aiService.js` 文件保留,但不再被调用
|
||
- 二期规划时可以重新启用
|
||
|
||
|
||
|
||
3. **日志提示**
|
||
- 所有禁用 AI 的地方都有日志提示
|
||
- 明确标注"AI分析已禁用(二期规划)"
|
||
|
||
## 🔄 二期规划恢复步骤
|
||
|
||
当需要恢复 AI 功能时:
|
||
|
||
1. 取消注释所有 `aiService` 引用
|
||
2. 恢复 AI 方法调用
|
||
3. 移除或注释文本匹配的替代代码
|
||
4. 测试 AI 服务连接和功能
|
||
|
||
## 📊 当前功能对比
|
||
|
||
| 功能 | AI 版本 | 文本匹配版本 |
|
||
|------|---------|-------------|
|
||
| 简历分析 | AI 智能分析 | 技能关键词提取 |
|
||
| 职位匹配 | AI 深度分析 | 文本匹配评分 |
|
||
| 聊天生成 | AI 个性化生成 | 固定模板 |
|
||
| 面试邀约 | AI 个性化生成 | 固定模板 |
|
||
| 外包检测 | AI 判断 | 关键词匹配 |
|
||
|
||
## 🎯 后续优化建议
|
||
|
||
1. **增强文本匹配**
|
||
- 添加更多技能关键词
|
||
- 优化匹配算法
|
||
- 支持同义词匹配
|
||
|
||
2. **规则配置化**
|
||
- 将过滤规则配置化
|
||
- 支持用户自定义规则
|
||
- 支持规则优先级
|
||
|
||
3. **匹配度优化**
|
||
- 优化评分算法
|
||
- 添加更多匹配维度
|
||
- 支持权重配置
|
||
|