camille-vanhoffelen
First working gradio app for langchain-HuggingGPT
b3d3593
import functools
def wrap_exceptions(exception_cls, message=None):
"""Wrap exceptions raised by a function with a custom exception class."""
def decorated(f):
@functools.wraps(f)
def wrapped(*args, **kwargs):
try:
return f(*args, **kwargs)
except Exception as e:
raise exception_cls(message) from e
return wrapped
return decorated
def async_wrap_exceptions(exception_cls, message=None):
"""Wrap exceptions raised by an async function with a custom exception class."""
def decorated(f):
@functools.wraps(f)
async def wrapped(*args, **kwargs):
try:
return await f(*args, **kwargs)
except Exception as e:
raise exception_cls(message) from e
return wrapped
return decorated
class TaskPlanningException(Exception):
pass
class TaskParsingException(Exception):
pass
class ModelScrapingException(Exception):
pass
class ModelSelectionException(Exception):
pass
class ModelInferenceException(Exception):
pass
class ResponseGenerationException(Exception):
pass