






from typing import TYPE_CHECKING

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


UpperCamelCase__    :   Optional[int]    		=       {
    """configuration_chinese_clip""": [
        """CHINESE_CLIP_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """ChineseCLIPConfig""",
        """ChineseCLIPOnnxConfig""",
        """ChineseCLIPTextConfig""",
        """ChineseCLIPVisionConfig""",
    ],
    """processing_chinese_clip""": ["""ChineseCLIPProcessor"""],
}

try:
				if not is_vision_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				UpperCamelCase__    :   List[Any]    		=       ["""ChineseCLIPFeatureExtractor"""]
				UpperCamelCase__    :   List[Any]    		=       ["""ChineseCLIPImageProcessor"""]

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				UpperCamelCase__    :   Tuple    		=       [
				    """CHINESE_CLIP_PRETRAINED_MODEL_ARCHIVE_LIST""",
				    """ChineseCLIPModel""",
				    """ChineseCLIPPreTrainedModel""",
				    """ChineseCLIPTextModel""",
				    """ChineseCLIPVisionModel""",
				]

if TYPE_CHECKING:
				from .configuration_chinese_clip import (
				    CHINESE_CLIP_PRETRAINED_CONFIG_ARCHIVE_MAP,
				    ChineseCLIPConfig,
				    ChineseCLIPOnnxConfig,
				    ChineseCLIPTextConfig,
				    ChineseCLIPVisionConfig,
				)
				from .processing_chinese_clip import ChineseCLIPProcessor

				try:
								if not is_vision_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .feature_extraction_chinese_clip import ChineseCLIPFeatureExtractor, ChineseCLIPImageProcessor

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_chinese_clip import (
								    CHINESE_CLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
								    ChineseCLIPModel,
								    ChineseCLIPPreTrainedModel,
								    ChineseCLIPTextModel,
								    ChineseCLIPVisionModel,
								)

else:
				import sys

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






"""simple docstring"""






# Copyright 2023 The HuggingFace Inc. team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from ..models.auto import AutoModelForSeqaSeqLM, AutoTokenizer
from .base import PipelineTool





class 					_A		(			lowerCAmelCase      ):
      snake_case__     :  List[Any]				    =      'philschmid/bart-large-cnn-samsum'
      snake_case__     :  int				    =      (
          'This is a tool that summarizes an English text. It takes an input `text` containing the text to summarize, '
          'and returns a summary of the text.'
      )
      snake_case__     :  Tuple				    =      'summarizer'
      snake_case__     :  int				    =      AutoTokenizer
      snake_case__     :  Any				    =      AutoModelForSeqaSeqLM

      snake_case__     :  Optional[int]				    =      ['text']
      snake_case__     :  Optional[int]				    =      ['text']

      def 							A__			(		self						,			__lowerCAmelCase		):







            """simple docstring"""



            return self.pre_processor(__lowerCAmelCase						,			return_tensors="""pt"""						,			truncation=__lowerCAmelCase		)

      def 							A__			(		self						,			__lowerCAmelCase		):







            """simple docstring"""



            return self.model.generate(**__lowerCAmelCase		)[0]







      def 							A__			(		self						,			__lowerCAmelCase		):







            """simple docstring"""



            return self.pre_processor.decode(__lowerCAmelCase						,			skip_special_tokens=__lowerCAmelCase						,			clean_up_tokenization_spaces=__lowerCAmelCase		)



