


"""simple docstring"""





from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_torch_available,
)


snake_case__						:   Optional[int]			 = {
    '''configuration_gpt_bigcode''': ['''GPT_BIGCODE_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''GPTBigCodeConfig'''],
}

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 snake_case__						:   List[Any]			 = [
     '''GPT_BIGCODE_PRETRAINED_MODEL_ARCHIVE_LIST''',
     '''GPTBigCodeForSequenceClassification''',
     '''GPTBigCodeForTokenClassification''',
     '''GPTBigCodeForCausalLM''',
     '''GPTBigCodeModel''',
     '''GPTBigCodePreTrainedModel''',
 ]

if TYPE_CHECKING:
 from .configuration_gpt_bigcode import GPT_BIGCODE_PRETRAINED_CONFIG_ARCHIVE_MAP, GPTBigCodeConfig

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_gpt_bigcode import (
      GPT_BIGCODE_PRETRAINED_MODEL_ARCHIVE_LIST,
      GPTBigCodeForCausalLM,
      GPTBigCodeForSequenceClassification,
      GPTBigCodeForTokenClassification,
      GPTBigCodeModel,
      GPTBigCodePreTrainedModel,
  )


else:
 import sys

 snake_case__						:   Dict			 = _LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)




from typing import Dict

from .base import GenericTensor, Pipeline







class 			__A( a			):




				def 				SCREAMING_SNAKE_CASE_		(     self		,     _snake_case=None		,     _snake_case=None		,     _snake_case=None		,     **_snake_case				)    ->      Optional[Any]:


								'''simple docstring'''




								if tokenize_kwargs is None:
												__a										=    {}

								if truncation is not None:
												if "truncation" in tokenize_kwargs:
																raise ValueError(
																    '''truncation parameter defined twice (given as keyword argument as well as in tokenize_kwargs)'''				)
												__a										=    truncation

								__a										=    tokenize_kwargs

								__a										=    {}
								if return_tensors is not None:
												__a										=    return_tensors

								return preprocess_params, {}, postprocess_params




				def 				SCREAMING_SNAKE_CASE_		(     self		,     _snake_case		,     **_snake_case				)    ->      Dict[str, GenericTensor]:


								'''simple docstring'''




								__a										=    self.framework
								__a										=    self.tokenizer(_snake_case		,     return_tensors=_snake_case		,     **_snake_case				)
								return model_inputs




				def 				SCREAMING_SNAKE_CASE_		(     self		,     _snake_case				)    ->      Optional[Any]:


								'''simple docstring'''




								__a										=    self.model(**_snake_case				)
								return model_outputs




				def 				SCREAMING_SNAKE_CASE_		(     self		,     _snake_case		,     _snake_case=False				)    ->      Optional[int]:


								'''simple docstring'''




								if return_tensors:
												return model_outputs[0]
								if self.framework == "pt":
												return model_outputs[0].tolist()
								elif self.framework == "tf":
												return model_outputs[0].numpy().tolist()




				def __call__(     self		,     *_snake_case		,     **_snake_case				)    ->      Any:


								'''simple docstring'''




								return super().__call__(*_snake_case		,     **_snake_case				)