Files
offerpai_python_ai/app/api/nova_chat.py
T
2026-04-27 15:29:34 +08:00

26 lines
896 B
Python

"""Nova Chat 对话接口"""
from fastapi import APIRouter
from app.core.context import RequestContext
from app.core.database import get_db
from app.schemas.nova_chat import NovaChatParam, NovaChatDto
router = APIRouter(prefix="/nova-chat", tags=["Nova对话助手"])
@router.post("/chat", summary="Nova对话", response_model=NovaChatDto)
async def chat(param: NovaChatParam):
"""Nova 求职对话,根据用户简历和岗位上下文(可选)提供求职分析与建议"""
from app.services.nova_chat_service import NovaChatService
user_id = RequestContext.user_id.get()
async for session in get_db():
service = NovaChatService(session)
result = await service.chat(
user_id, param.resume_id, param.message,
[msg.model_dump() for msg in param.history],
param.job_id,
)
return NovaChatDto(message=result)