Handle tool errors in display properly (can show valueError to user) (#2481)

* handle tool errors in display properly (can show valueerrors to user)

* update for clarity
This commit is contained in:
pablodanswer
2024-09-17 10:08:46 -07:00
committed by GitHub
parent 5596a68d08
commit 72acde6fd4
2 changed files with 12 additions and 3 deletions

View File

@@ -745,10 +745,18 @@ def stream_chat_message_objects(
tool_result = packet
yield cast(ChatPacket, packet)
logger.debug("Reached end of stream")
except Exception as e:
error_msg = str(e)
logger.exception(f"Failed to process chat message: {error_msg}")
except ValueError as e:
logger.exception("Failed to process chat message.")
error_msg = str(e)
yield StreamingError(error=error_msg)
db_session.rollback()
return
except Exception as e:
logger.exception("Failed to process chat message.")
error_msg = str(e)
stack_trace = traceback.format_exc()
client_error_msg = litellm_exception_to_error_msg(e, llm)
if llm.config.api_key and len(llm.config.api_key) > 2:

View File

@@ -200,6 +200,7 @@ class ImageGenerationTool(Tool):
revised_prompt=response.data[0]["revised_prompt"],
url=response.data[0]["url"],
)
except Exception as e:
logger.debug(f"Error occured during image generation: {e}")