From 22d71cab4479267f94d96b6b97b47d22e5feee98 Mon Sep 17 00:00:00 2001 From: Debanjum Date: Thu, 19 Jun 2025 16:45:39 -0700 Subject: [PATCH] Log ChatMessageModel validation errors during conversation save --- src/khoj/processor/conversation/utils.py | 34 ++++++++++++++---------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/src/khoj/processor/conversation/utils.py b/src/khoj/processor/conversation/utils.py index a88b464b..a3006aae 100644 --- a/src/khoj/processor/conversation/utils.py +++ b/src/khoj/processor/conversation/utils.py @@ -445,20 +445,26 @@ async def save_to_conversation_log( if generated_mermaidjs_diagram: khoj_message_metadata["mermaidjsDiagram"] = generated_mermaidjs_diagram - updated_conversation = message_to_log( - user_message=q, - chat_response=chat_response, - user_message_metadata=user_message_metadata, - khoj_message_metadata=khoj_message_metadata, - chat_history=chat_history, - ) - await ConversationAdapters.save_conversation( - user, - updated_conversation, - client_application=client_application, - conversation_id=conversation_id, - user_message=q, - ) + try: + updated_conversation = message_to_log( + user_message=q, + chat_response=chat_response, + user_message_metadata=user_message_metadata, + khoj_message_metadata=khoj_message_metadata, + chat_history=chat_history, + ) + except ValidationError as e: + updated_conversation = None + logger.error(f"Error constructing chat history: {e}") + + if updated_conversation: + await ConversationAdapters.save_conversation( + user, + updated_conversation, + client_application=client_application, + conversation_id=conversation_id, + user_message=q, + ) if is_promptrace_enabled(): merge_message_into_conversation_trace(q, chat_response, tracer)