





from typing import TYPE_CHECKING

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


SCREAMING_SNAKE_CASE__       :			List[Any]			      =						{
    """configuration_mega""": ["""MEGA_PRETRAINED_CONFIG_ARCHIVE_MAP""", """MegaConfig""", """MegaOnnxConfig"""],
}

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  SCREAMING_SNAKE_CASE__       :			Tuple			      =						[
      """MEGA_PRETRAINED_MODEL_ARCHIVE_LIST""",
      """MegaForCausalLM""",
      """MegaForMaskedLM""",
      """MegaForMultipleChoice""",
      """MegaForQuestionAnswering""",
      """MegaForSequenceClassification""",
      """MegaForTokenClassification""",
      """MegaModel""",
      """MegaPreTrainedModel""",
  ]

if TYPE_CHECKING:
  from .configuration_mega import MEGA_PRETRAINED_CONFIG_ARCHIVE_MAP, MegaConfig, MegaOnnxConfig

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_mega import (
        MEGA_PRETRAINED_MODEL_ARCHIVE_LIST,
        MegaForCausalLM,
        MegaForMaskedLM,
        MegaForMultipleChoice,
        MegaForQuestionAnswering,
        MegaForSequenceClassification,
        MegaForTokenClassification,
        MegaModel,
        MegaPreTrainedModel,
    )

else:
  import sys

  SCREAMING_SNAKE_CASE__       :			Union[str, Any]			      =						_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)








import unittest

from transformers import load_tool

from .test_tools_common import ToolTesterMixin


SCREAMING_SNAKE_CASE__       :			Dict			      =						"""
Hugging Face was founded in 2016 by French entrepreneurs Clément Delangue, Julien Chaumond, and Thomas Wolf originally as a company that developed a chatbot app targeted at teenagers.[2] After open-sourcing the model behind the chatbot, the company pivoted to focus on being a platform for machine learning.

In March 2021, Hugging Face raised $40 million in a Series B funding round.[3]

On April 28, 2021, the company launched the BigScience Research Workshop in collaboration with several other research groups to release an open large language model.[4] In 2022, the workshop concluded with the announcement of BLOOM, a multilingual large language model with 176 billion parameters.[5]
"""







class   __lowerCAmelCase			(					unittest.TestCase		,_UpperCamelCase  ):





   def 	_snake_case ( self      )				->  str:
      """simple docstring"""





      a__	:						Optional[int]      		=  load_tool("text-question-answering"      )
      self.tool.setup()
      a__	:						Dict      		=  load_tool("text-question-answering"					,			remote=snake_case      )





   def 	_snake_case ( self      )				->  Dict:
      """simple docstring"""





      a__	:						Optional[Any]      		=  self.tool(snake_case					,			"What did Hugging Face do in April 2021?"      )
      self.assertEqual(snake_case					,			"launched the BigScience Research Workshop"      )





   def 	_snake_case ( self      )				->  Tuple:
      """simple docstring"""





      a__	:						List[Any]      		=  self.remote_tool(snake_case					,			"What did Hugging Face do in April 2021?"      )
      self.assertEqual(snake_case					,			"launched the BigScience Research Workshop"      )





   def 	_snake_case ( self      )				->  Any:
      """simple docstring"""





      a__	:						Any      		=  self.tool(text=snake_case					,			question="What did Hugging Face do in April 2021?"      )
      self.assertEqual(snake_case					,			"launched the BigScience Research Workshop"      )





   def 	_snake_case ( self      )				->  int:
      """simple docstring"""





      a__	:						List[str]      		=  self.remote_tool(text=snake_case					,			question="What did Hugging Face do in April 2021?"      )
      self.assertEqual(snake_case					,			"launched the BigScience Research Workshop"      )

