""" Custom exceptions """ class ExceedMaxLengthError(Exception): """ Token exceed max length. """ def __init__(self, max_length=None): self.message = f'Input sentence exceeds max length of {max_length}' super().__init__(self.message) class HighlightNotFoundError(Exception): """ Highlight is not in the sentence. """ def __init__(self, highlight: str, input_sentence: str): self.message = f'Highlight `{highlight}` not found in the input sentence `{input_sentence}`' super().__init__(self.message) class AnswerNotFoundError(Exception): """ Answer cannot found in the context. """ def __init__(self, context: str): self.message = f'Model cannot find any answer candidates in `{context}`' super().__init__(self.message) class APIError(Exception): """ Error from huggingface inference API. """ def __init__(self, context: str): self.message = f'Huggingface API Error:\n`{context}`' super().__init__(self.message)