Files
offerpai_python_ai/app/ai/nova_chat/chat.py
T

32 lines
1002 B
Python

"""Nova Chat AI 引擎
构造 prompt + 调 LLM,直接返回 Markdown 文本。
依赖:LLM 枚举、nova_chat/prompts
"""
from app.ai.model_config import NovaChatModel
from app.ai.nova_chat.prompts import SYSTEM_PROMPT
from app.core.logger import log
async def nova_chat(resume_text: str, message: str, history: list[dict],
job_context: str) -> str:
"""Nova 对话:拼 prompt → 拼历史 → 调 LLM → 返回 Markdown 文本"""
system_content = SYSTEM_PROMPT.format(
resume_text=resume_text,
job_context=job_context,
)
messages = [("system", system_content)]
for msg in history:
messages.append((msg["role"], msg["content"]))
messages.append(("human", message))
try:
result = await NovaChatModel.CHAT.ainvoke(messages)
return result.content.strip()
except Exception as e:
log.error(f"Nova Chat AI 调用失败: {e}")
return "抱歉,我暂时无法回复,请稍后再试。"