diff --git a/app/api/skill_gap.py b/app/api/skill_gap.py index eb47498..3349bd4 100644 --- a/app/api/skill_gap.py +++ b/app/api/skill_gap.py @@ -69,6 +69,7 @@ async def ai_edit_customize_resume(param: AiEditParam): async for session in get_db(): service = SkillGapService(session) result = await service.ai_edit_customize_resume( - user_id, param.job_id, param.instruction, param.chat_history, + user_id, param.job_id, param.instruction, + [msg.model_dump() for msg in param.chat_history], ) return result diff --git a/app/schemas/skill_gap.py b/app/schemas/skill_gap.py index 20e4e3a..04b40a8 100644 --- a/app/schemas/skill_gap.py +++ b/app/schemas/skill_gap.py @@ -25,10 +25,18 @@ class CustomizeResumeParam(BaseModel): add_skills: list[str] = Field(default_factory=list, alias="addSkills") +ChatRole = Literal["user", "assistant"] + + +class ChatMessage(BaseModel): + role: ChatRole + content: str + + class AiEditParam(BaseModel): job_id: int = Field(..., alias="jobId") instruction: str = Field(...) - chat_history: list[dict] = Field(default_factory=list, alias="chatHistory") + chat_history: list[ChatMessage] = Field(default_factory=list, alias="chatHistory") # ===== Redis 缓存子模型 ===== diff --git a/app/services/skill_gap_service.py b/app/services/skill_gap_service.py index fa33d9a..be5bafc 100644 --- a/app/services/skill_gap_service.py +++ b/app/services/skill_gap_service.py @@ -200,7 +200,7 @@ class SkillGapService: # ===== AI 对话编辑 ===== async def ai_edit_customize_resume(self, user_id: int, job_id: int, - instruction: str, chat_history: list[dict]) -> dict: + instruction: str, chat_history: list) -> dict: """AI 对话式编辑定制简历""" # 1. 取当前定制简历 key = f"{CUSTOMIZE_RESUME_KEY_PREFIX}{user_id}"