AskMyResume / ui /chat_handler.py
Decim@97
Askmyresume version 1.0.0
2fe451c
from local_agents.resume_agent import answer_resume_question
from utils.central_logging import get_logger
from ui.generate_session import generate_session_id
logger = get_logger("chat_handler")
async def chat_handler(message,history,session_id):
if not session_id:
session_id = generate_session_id()
if history is None:
history = []
history.append({"role":"user","content":message})
partial_answer = ""
try:
async for token in answer_resume_question(message):
#print(f"token: {token}")
partial_answer += token
if len(history) > 0 and history[-1]["role"] == "assistant":
history[-1]["content"] = partial_answer
else:
history.append({"role":"assistant","content":partial_answer})
yield history,session_id,""
if "notified" in partial_answer.lower() and "anthony" in partial_answer.lower():
logger.info({
"type": "escalation",
"session_id": session_id,
"question": message,
"answer_preview": partial_answer[:500]
})
except Exception as e:
note = f"An error occured: {str(e)}"
logger.exception(note)
history[-1]["content"] = note
yield history,session_id