
    9i                        S SK r S SKJrJrJrJr  S SK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  S SKJrJr  S S	KJr  S S
KJrJr  S/r\R6                  " \R8                  \R8                  S9 " S S\5      5       rg)    N)AnyDictOptionalUnion)	Pipelines)Model)
OutputKeys)PipelineTensor)	PIPELINES) FillMaskTransformersPreprocessorPreprocessor)Config)	ModelFileTasksFeatureExtractionPipeline)module_namec            	          ^  \ rS rSr      SS\\\4   S\\   S\S\4U 4S jjjr	S\
\\4   S\
\\4   4S	 jrS\
\\4   S\
\\4   4S
 jrSrU =r$ )r      modelpreprocessorconfig_filedevicec                 z  > [         T	U ]  UUUUUUR                  SS5      UR                  S0 5      S9  [        U R                  [
        5      (       d   S[        R                   35       eUc3  [        R                  " U R                  R                  4UUS.UD6U l        U R                  R                  5         g)a  Use `model` and `preprocessor` to create a nlp feature extraction pipeline for prediction

Args:
    model (str or Model): Supply either a local model dir which supported feature extraction task, or a
    no-head model id from the model hub, or a torch model instance.
    preprocessor (Preprocessor): An optional preprocessor instance, please make sure the preprocessor fits for
    the model if supplied.
    kwargs (dict, `optional`):
        Extra kwargs passed into the preprocessor's constructor.

Examples:
    >>> from modelscope.pipelines import pipeline
    >>> pipe_ins = pipeline('feature_extraction', model='damo/nlp_structbert_feature-extraction_english-large')
    >>> input = 'Everything you love is treasure'
    >>> print(pipe_ins(input))


compileFcompile_options)r   r   r   r   auto_collater   r   z,please check whether model config exists in N)paddingsequence_length)super__init__pop
isinstancer   r   r   CONFIGURATIONr   from_pretrained	model_dirr   eval)
selfr   r   r   r   r   r   r   kwargs	__class__s
            t/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/modelscope/pipelines/nlp/feature_extraction_pipeline.pyr!   "FeatureExtractionPipeline.__init__   s    6 	%#%JJy%0"JJ'8"= 	 	? $**e,, 	U:9;R;R:ST	U, , < <

$$! /! 	!D
 	

    inputsreturnc                     [         R                  " 5          U R                  " S0 UDUD6sS S S 5        $ ! , (       d  f       g = f)N )torchno_gradr   )r(   r.   forward_paramss      r+   forward!FeatureExtractionPipeline.forwardF   s)    ]]_::99.9 __s	   4
Ac                 d    [         R                  U[         R                     R                  5       0$ )zprocess the prediction results

Args:
    inputs (Dict[str, Any]): _description_

Returns:
    Dict[str, str]: the prediction results
)r	   TEXT_EMBEDDINGtolist)r(   r.   s     r+   postprocess%FeatureExtractionPipeline.postprocessK   s.     %%:,,-446
 	
r-   )r   )NNgpuTF   )__name__
__module____qualname____firstlineno__r   r   strr   r   r!   r   r   r5   r   r:   __static_attributes____classcell__)r*   s   @r+   r   r      s     9=$($"!$,eSj),'5, ", 	, ,\:d38n :%)#s(^:

$sF{"3 
S&[8I 
 
r-   )ostypingr   r   r   r   r2   modelscope.metainfor   modelscope.modelsr   modelscope.outputsr	   modelscope.pipelines.baser
   r   modelscope.pipelines.builderr   modelscope.preprocessorsr   r   modelscope.utils.configr   modelscope.utils.constantr   r   __all__register_modulefeature_extractionr   r1   r-   r+   <module>rR      so    	 - -  ) # ) 6 24 * 6&
' 	)*F*FHB
 B
HB
r-   