Spaces:
Sleeping
Sleeping
| 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 |