

from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tokenizers_available, is_torch_available


A__							=				{
    '''configuration_realm''': ['''REALM_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''RealmConfig'''],
    '''tokenization_realm''': ['''RealmTokenizer'''],
}

try:
						if not is_tokenizers_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						A__							=				['''RealmTokenizerFast''']

try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						A__							=				[
						    '''REALM_PRETRAINED_MODEL_ARCHIVE_LIST''',
						    '''RealmEmbedder''',
						    '''RealmForOpenQA''',
						    '''RealmKnowledgeAugEncoder''',
						    '''RealmPreTrainedModel''',
						    '''RealmReader''',
						    '''RealmScorer''',
						    '''load_tf_weights_in_realm''',
						]
						A__							=				['''RealmRetriever''']


if TYPE_CHECKING:
						from .configuration_realm import REALM_PRETRAINED_CONFIG_ARCHIVE_MAP, RealmConfig
						from .tokenization_realm import RealmTokenizer

						try:
												if not is_tokenizers_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .tokenization_realm import RealmTokenizerFast

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_realm import (
												    REALM_PRETRAINED_MODEL_ARCHIVE_LIST,
												    RealmEmbedder,
												    RealmForOpenQA,
												    RealmKnowledgeAugEncoder,
												    RealmPreTrainedModel,
												    RealmReader,
												    RealmScorer,
												    load_tf_weights_in_realm,
												)
												from .retrieval_realm import RealmRetriever


else:
						import sys

						A__							=				_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)












'''simple docstring'''







from ...configuration_utils import PretrainedConfig
from ...utils import logging


_A      :     Union[str, Any]       	=logging.get_logger(__name__)

_A      :     Tuple       	={
    '''tau/splinter-base''': '''https://huggingface.co/tau/splinter-base/resolve/main/config.json''',
    '''tau/splinter-base-qass''': '''https://huggingface.co/tau/splinter-base-qass/resolve/main/config.json''',
    '''tau/splinter-large''': '''https://huggingface.co/tau/splinter-large/resolve/main/config.json''',
    '''tau/splinter-large-qass''': '''https://huggingface.co/tau/splinter-large-qass/resolve/main/config.json''',
    # See all Splinter models at https://huggingface.co/models?filter=splinter
}

class _lowercase      (							_lowercase						):
							a							 =			"""splinter"""




							def __init__(				self:							List[str]     ,				UpperCamelCase__:							List[Any]=30_522     ,				UpperCamelCase__:							Union[str, Any]=768     ,				UpperCamelCase__:							str=12     ,				UpperCamelCase__:							Dict=12     ,				UpperCamelCase__:							Tuple=3_072     ,				UpperCamelCase__:							Optional[int]="gelu"     ,				UpperCamelCase__:							Optional[int]=0.1     ,				UpperCamelCase__:							str=0.1     ,				UpperCamelCase__:							List[Any]=512     ,				UpperCamelCase__:							List[str]=2     ,				UpperCamelCase__:							Any=0.02     ,				UpperCamelCase__:							Optional[Any]=1e-12     ,				UpperCamelCase__:							Dict=True     ,				UpperCamelCase__:							str=0     ,				UpperCamelCase__:							int=104     ,				**UpperCamelCase__:							Any     ,				):
														super().__init__(pad_token_id=UpperCamelCase__     ,				**UpperCamelCase__	)

														lowerCamelCase__   :      Union[str, Any]			    =			vocab_size
														lowerCamelCase__   :      str			    =			max_position_embeddings
														lowerCamelCase__   :      Tuple			    =			hidden_size
														lowerCamelCase__   :      Dict			    =			num_hidden_layers
														lowerCamelCase__   :      Tuple			    =			num_attention_heads
														lowerCamelCase__   :      Tuple			    =			intermediate_size
														lowerCamelCase__   :      Any			    =			hidden_act
														lowerCamelCase__   :      int			    =			hidden_dropout_prob
														lowerCamelCase__   :      List[str]			    =			attention_probs_dropout_prob
														lowerCamelCase__   :      Dict			    =			initializer_range
														lowerCamelCase__   :      List[Any]			    =			type_vocab_size
														lowerCamelCase__   :      Tuple			    =			layer_norm_eps
														lowerCamelCase__   :      Optional[Any]			    =			use_cache
														lowerCamelCase__   :      Optional[Any]			    =			question_token_id

