Files
offerpai_python_ai/app/api/job_agent_chat.py
T
2026-07-10 11:26:08 +08:00

34 lines
1.6 KiB
Python

"""求职助手 Agent 岗位简历优化接口"""
from fastapi import APIRouter, Depends
from app.core.asserts import Assert
from app.core.auth import func_permission
from app.core.context import RequestContext
from app.core.database import get_db
from app.schemas.job_agent_chat import OptimizeResumeParam, MatchScoreParam
from app.services.job_agent_chat_service import JobAgentChatService
router = APIRouter(prefix="/job-agent", tags=["求职助手agent"])
@router.post("/match-score", summary="岗位匹配度评分")
async def match_score(param: MatchScoreParam):
"""根据定制简历或原始简历和岗位,从技能/学历/经验维度评估匹配度,返回 0-100 分"""
Assert.is_true(param.customize_resume_id is not None or param.resume_id is not None, "customizeResumeId 和 resumeId 至少传一个")
user_id = RequestContext.user_id.get()
async for session in get_db():
service = JobAgentChatService(session)
result = await service.score_match(user_id, param.job_id, param.customize_resume_id, param.resume_id)
return result
@router.post("/optimize-resume", summary="针对岗位优化简历")
async def optimize_resume(param: OptimizeResumeParam, _: None = Depends(func_permission("resume_custom"))):
"""根据目标岗位,AI并发优化简历(summary + 5张子表经历),存Redis并返回"""
user_id = RequestContext.user_id.get()
async for session in get_db():
service = JobAgentChatService(session)
result = await service.optimize_resume(user_id, param.resume_id, param.job_id)
return result