跟新项目结构文档

This commit is contained in:
zk
2026-04-24 19:42:19 +08:00
parent d49d3cf07f
commit e8e06b1cdf
+6 -3
View File
@@ -73,14 +73,17 @@ offerpie_python_ai/
│ └─ snowflake.py # 雪花 ID 生成工具(next_id │ └─ snowflake.py # 雪花 ID 生成工具(next_id
├─ schemas/ # **Schema 层**Pydantic 请求/响应/缓存模型) ├─ schemas/ # **Schema 层**Pydantic 请求/响应/缓存模型)
│ ├─ skill_gap.py # 技能差距分析 SchemaSkillGapParam、CustomizeResumeParam、AiEditParam、CustomizeResume 等 │ ├─ skill_gap.py # 技能差距分析 SchemaSkillGapParam、CustomizeResumeParam、AiEditParam
│ ├─ customize_resume.py # 定制简历 SchemaCustomizeResume、ResumeProfile、Education、Work、Internship、Project、Competition、Paragraph
│ └─ job_agent_chat.py # 求职助手对话 SchemaJobAgentChatParam、JobAgentChatDto、ToolParams │ └─ job_agent_chat.py # 求职助手对话 SchemaJobAgentChatParam、JobAgentChatDto、ToolParams
└─ services/ # **业务逻辑层** └─ services/ # **业务逻辑层**
├─ func_permission_service.py # 功能权限服务(校验+扣减+回退,逻辑与Java端一致) ├─ func_permission_service.py # 功能权限服务(校验+扣减+回退,逻辑与Java端一致)
├─ resume_parse_service.py # 简历解析服务(文件解析→AI结构化→写入主表+5张子表) ├─ resume_parse_service.py # 简历解析服务(文件解析→AI结构化→写入主表+5张子表)
├─ resume_diagnose_service.py # 简历诊断服务(加载简历→AI并行诊断→统计评级→写入报告) ├─ resume_diagnose_service.py # 简历诊断服务(加载简历→AI并行诊断→统计评级→写入报告)
├─ skill_gap_service.py # 技能差距分析服务(差距分析→定制简历生成/查询/编辑/回滚→AI对话编辑) ├─ skill_gap_service.py # 技能差距分析服务(差距分析→定制简历生成→AI对话编辑)
├─ resume_loader.py # 简历统一查询模块(按ID查/自动选默认+5张子表,返回 ResumeDetail dataclass
├─ customize_resume_store.py # 定制简历 Redis 存取模块(保存自动回滚备份、查询、回滚)
└─ job_agent_chat_service.py # 求职助手对话服务(查简历→序列化→调AI模块完成对话) └─ job_agent_chat_service.py # 求职助手对话服务(查简历→序列化→调AI模块完成对话)
``` ```
@@ -93,7 +96,7 @@ offerpie_python_ai/
| **api** | REST API 路由定义 | `health.py`(健康检查)、`resume.py`(简历上传解析)、`resume_diagnose.py`(简历诊断)、`skill_gap.py`(技能差距分析 + 定制简历)、`job_agent_chat.py`(求职助手对话) | | **api** | REST API 路由定义 | `health.py`(健康检查)、`resume.py`(简历上传解析)、`resume_diagnose.py`(简历诊断)、`skill_gap.py`(技能差距分析 + 定制简历)、`job_agent_chat.py`(求职助手对话) |
| **models** | SQLAlchemy ORM 模型,与 Java 端共享同一数据库 | `FuncPermission``UserFuncPermissionStock``UserFuncUsageLog``UserResume``UserResumeEducation`/`Work`/`Internship`/`Project`/`Competition``ResumeDiagnosisReport``ResumeDiagnosisIssue``Job`(只读)、`JobAgentConfig` | | **models** | SQLAlchemy ORM 模型,与 Java 端共享同一数据库 | `FuncPermission``UserFuncPermissionStock``UserFuncUsageLog``UserResume``UserResumeEducation`/`Work`/`Internship`/`Project`/`Competition``ResumeDiagnosisReport``ResumeDiagnosisIssue``Job`(只读)、`JobAgentConfig` |
| **tool** | 无状态通用工具,不依赖数据库/Redis/用户上下文 | `file_parser.py`PDF/Word/TXT 文件解析为纯文本)、`json_helper.py`AI 输出 JSON 解析,去 markdown 代码块 + json_repair 容错)、`snowflake.py`(雪花ID生成) | | **tool** | 无状态通用工具,不依赖数据库/Redis/用户上下文 | `file_parser.py`PDF/Word/TXT 文件解析为纯文本)、`json_helper.py`AI 输出 JSON 解析,去 markdown 代码块 + json_repair 容错)、`snowflake.py`(雪花ID生成) |
| **services** | 业务逻辑实现 | `FuncPermissionService`(功能权限校验、扣减、回退)、`ResumeParseService`(简历文件解析→AI结构化→入库)、`ResumeDiagnoseService`(简历诊断→AI并行分析→评级→入库)、`SkillGapService`(技能差距分析→定制简历生成/查询/编辑/回滚→AI对话编辑(原子化操作:delete直接删/update按记录并发/add并发生成))、`JobAgentChatService`(求职助手对话→查简历→调AI模块) | | **services** | 业务逻辑实现 | `FuncPermissionService`(功能权限校验、扣减、回退)、`ResumeParseService`(简历文件解析→AI结构化→入库)、`ResumeDiagnoseService`(简历诊断→AI并行分析→评级→入库)、`SkillGapService`(技能差距分析→定制简历生成→AI对话编辑)、`resume_loader`(简历统一查询,返回ResumeDetail)、`customize_resume_store`(定制简历Redis存取,自动回滚备份)、`JobAgentChatService`(求职助手对话→查简历→调AI模块) |
## 3️⃣ 技术栈 ## 3️⃣ 技术栈
| 类别 | 技术选型 | 说明 | | 类别 | 技术选型 | 说明 |