




'''simple docstring'''




import unittest

from datasets import load_dataset

from transformers import load_tool

from .test_tools_common import ToolTesterMixin


class 						__UpperCamelCase (				unittest.TestCase    ,      lowerCamelCase__       ):






       def   lowercase__  (							self						):



              """simple docstring"""







              lowerCamelCase_							=load_tool('''document-question-answering'''						)
              self.tool.setup()
              lowerCamelCase_							=load_tool('''document-question-answering''',	remote=lowerCAmelCase						)






       def   lowercase__  (							self						):



              """simple docstring"""







              lowerCamelCase_							=load_dataset('''hf-internal-testing/example-documents''',	split='''test'''						)
              lowerCamelCase_							=dataset[0]['''image''']

              lowerCamelCase_							=self.tool(lowerCAmelCase,	'''When is the coffee break?'''						)
              self.assertEqual(lowerCAmelCase,	'''11-14 to 11:39 a.m.'''						)






       def   lowercase__  (							self						):



              """simple docstring"""







              lowerCamelCase_							=load_dataset('''hf-internal-testing/example-documents''',	split='''test'''						)
              lowerCamelCase_							=dataset[0]['''image''']

              lowerCamelCase_							=self.remote_tool(lowerCAmelCase,	'''When is the coffee break?'''						)
              self.assertEqual(lowerCAmelCase,	'''11-14 to 11:39 a.m.'''						)






       def   lowercase__  (							self						):



              """simple docstring"""







              lowerCamelCase_							=load_dataset('''hf-internal-testing/example-documents''',	split='''test'''						)
              lowerCamelCase_							=dataset[0]['''image''']

              self.tool(document=lowerCAmelCase,	question='''When is the coffee break?'''						)






       def   lowercase__  (							self						):



              """simple docstring"""







              lowerCamelCase_							=load_dataset('''hf-internal-testing/example-documents''',	split='''test'''						)
              lowerCamelCase_							=dataset[0]['''image''']

              lowerCamelCase_							=self.remote_tool(document=lowerCAmelCase,	question='''When is the coffee break?'''						)
              self.assertEqual(lowerCAmelCase,	'''11-14 to 11:39 a.m.'''						)










'''simple docstring'''




from typing import TYPE_CHECKING

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


a_   :	Union[str, Any]							   = {
    """configuration_openai""": ["""OPENAI_GPT_PRETRAINED_CONFIG_ARCHIVE_MAP""", """OpenAIGPTConfig"""],
    """tokenization_openai""": ["""OpenAIGPTTokenizer"""],
}

try:
     if not is_tokenizers_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     a_   :	Optional[int]							   = ["""OpenAIGPTTokenizerFast"""]

try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     a_   :	int							   = [
         """OPENAI_GPT_PRETRAINED_MODEL_ARCHIVE_LIST""",
         """OpenAIGPTDoubleHeadsModel""",
         """OpenAIGPTForSequenceClassification""",
         """OpenAIGPTLMHeadModel""",
         """OpenAIGPTModel""",
         """OpenAIGPTPreTrainedModel""",
         """load_tf_weights_in_openai_gpt""",
     ]

try:
     if not is_tf_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     a_   :	Dict							   = [
         """TF_OPENAI_GPT_PRETRAINED_MODEL_ARCHIVE_LIST""",
         """TFOpenAIGPTDoubleHeadsModel""",
         """TFOpenAIGPTForSequenceClassification""",
         """TFOpenAIGPTLMHeadModel""",
         """TFOpenAIGPTMainLayer""",
         """TFOpenAIGPTModel""",
         """TFOpenAIGPTPreTrainedModel""",
     ]


if TYPE_CHECKING:
     from .configuration_openai import OPENAI_GPT_PRETRAINED_CONFIG_ARCHIVE_MAP, OpenAIGPTConfig
     from .tokenization_openai import OpenAIGPTTokenizer

     try:
          if not is_tokenizers_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .tokenization_openai_fast import OpenAIGPTTokenizerFast

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_openai import (
              OPENAI_GPT_PRETRAINED_MODEL_ARCHIVE_LIST,
              OpenAIGPTDoubleHeadsModel,
              OpenAIGPTForSequenceClassification,
              OpenAIGPTLMHeadModel,
              OpenAIGPTModel,
              OpenAIGPTPreTrainedModel,
              load_tf_weights_in_openai_gpt,
          )

     try:
          if not is_tf_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_tf_openai import (
              TF_OPENAI_GPT_PRETRAINED_MODEL_ARCHIVE_LIST,
              TFOpenAIGPTDoubleHeadsModel,
              TFOpenAIGPTForSequenceClassification,
              TFOpenAIGPTLMHeadModel,
              TFOpenAIGPTMainLayer,
              TFOpenAIGPTModel,
              TFOpenAIGPTPreTrainedModel,
          )

else:
     import sys

     a_   :	List[Any]							   = _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)




