
    9i
                         S SK JrJrJrJr  S SKrS SKJrJr  S SK	J
r
Jr  S SKJr  S SKJr  S SKJr  S SKJrJr  S S	KJr  \" 5       r\R0                  " \R2                  \R4                  S
9 " S S\5      5       rg)    )AnyDictOptionalUnionN)	PipelinesPreprocessors)ModelPipeline)	PIPELINES)batch_process)Preprocessor)FieldsTasks)
get_logger)module_namec            	          ^  \ rS rSr    SS\\\4   S\\   S\S\4U 4S jjjr	U 4S jr
S\\\4   S	\\\4   4U 4S
 jjrS\\\4   S	\\\4   4S jrSrU =r$ )SummarizationPipeline   modelpreprocessorconfig_filedevicec                   > [         TU ]  UUUUUS9  U R                  R                  5         Uc  U R                  R                  R
                  S:X  aL  [        R                  " U R                  R                  [        R                  [        R                  S9U l        g[        R                  " U R                  R                  40 UD6U l        gg)a  Use `model` and `preprocessor` to create a Summarization pipeline for prediction.

Args:
    model (str or Model): Supply either a local model dir which supported the summarization task,
    or a model id from the model hub, or a model instance.
    preprocessor (Preprocessor): An optional preprocessor instance.
    kwargs (dict, `optional`):
        Extra kwargs passed into the preprocessor's constructor.
)r   r   r   r   auto_collateNOfaForAllTasks)typefield)super__init__r   eval	__class____name__r   from_pretrained	model_dirr   ofa_tasks_preprocessorr   multi_modalr   )selfr   r   r   r   r   kwargsr!   s          o/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/modelscope/pipelines/nlp/summarization_pipeline.pyr   SummarizationPipeline.__init__   s      	%#% 	 	' 	

zz##,,0@@$0$@$@JJ((&== ,,%.!
 %1$@$@JJ((%4,2%4!      c                    > U R                   R                  R                  S:X  a  [        U R                   U5      $ [        [
        U ]  U5      $ )Nr   )r   r!   r"   r   r   r   _batch)r'   datar!   s     r)   r-   SummarizationPipeline._batch6   s@    ::((,<< T22.<TBBr+   inputsreturnc                    > [         R                  " 5          [        TU ]  " U40 UD6sS S S 5        $ ! , (       d  f       g = fN)torchno_gradr   forward)r'   r0   forward_paramsr!   s      r)   r6   SummarizationPipeline.forward<   s'    ]]_7?6<^< __s	   2
A c                     U$ r3    )r'   r0   s     r)   postprocess!SummarizationPipeline.postprocessA   s    r+   )r   )NNgpuT)r"   
__module____qualname____firstlineno__r   r	   strr   r   r   r-   r   r   r6   r;   __static_attributes____classcell__)r!   s   @r)   r   r      s     9=$($"4eSj)4'54 "4 	4 4BC=d38n =%)#s(^=
$sCx. T#s(^  r+   r   )typingr   r   r   r   r4   modelscope.metainfor   r   modelscope.pipelines.baser	   r
   modelscope.pipelines.builderr   modelscope.pipelines.utilr   modelscope.preprocessorsr   modelscope.utils.constantr   r   modelscope.utils.loggerr   loggerregister_moduletext_summarizationtext_generationr   r:   r+   r)   <module>rP      sc    - -  8 5 2 3 1 3 .	 	)*C*CE/H /E/r+   