Ë
    µŒj99  ã                   óò   — d dl Z d dlZd dlZd dlmZmZmZmZmZm	Z	m
Z
 d dlmZ d dlmZmZ d dlmZ d dlmZ d dlmZmZ d dlmZmZmZ  ej6                  e«      Zd	Z ed
dd¬«       G d„ de«      «       Zy)é    N)ÚAnyÚAsyncIteratorÚDictÚIteratorÚListÚMappingÚOptional)Ú
deprecated)ÚAsyncCallbackManagerForLLMRunÚCallbackManagerForLLMRun)ÚLLM)ÚGenerationChunk)Úget_pydantic_field_namesÚpre_init)Ú
ConfigDictÚFieldÚmodel_validator)ztext2text-generationztext-generationÚsummarizationÚconversationalz0.0.37z1.0z)langchain_huggingface.HuggingFaceEndpoint)ÚsinceÚremovalÚalternative_importc                   óÐ  — e Zd ZU dZdZee   ed<   	 dZee   ed<   	 dZ	ee   ed<   dZ
eed<   	 dZee   ed<   	 d	Zee   ed
<   	 d	Zee   ed<   	 dZee   ed<   	 dZee   ed<   	 dZeed<   	 dZee   ed<   	  ee¬«      Zee   ed<   	 dZee   ed<   	 dZeed<   	 dZeed<   	 dZeed<   	 dZeed<   	 dZeed<   	  ee¬«      Z e!ee"f   ed<   	  ee¬«      Z#e!ee"f   ed<   	 eed<   dZ$e"ed<   dZ%e"ed <   dZ&ee   ed!<   	  e'd"¬#«      Z( e)d$¬%«      e*d&e!ee"f   d'e"fd(„«       «       Z+e,d&e!d'e!fd)„«       Z-e.d'e!ee"f   fd*„«       Z/e.d'e0ee"f   fd+„«       Z1e.d'efd,„«       Z2d-eee      d.e"d'e!ee"f   fd/„Z3	 	 d7d0ed1eee      d2ee4   d.e"d'ef
d3„Z5	 	 d7d0ed1eee      d2ee6   d.e"d'ef
d4„Z7	 	 d7d0ed1eee      d2ee4   d.e"d'e8e9   f
d5„Z:	 	 d7d0ed1eee      d2ee6   d.e"d'e;e9   f
d6„Z<y)8ÚHuggingFaceEndpointa£  
    HuggingFace Endpoint.

    To use this class, you should have installed the ``huggingface_hub`` package, and
    the environment variable ``HUGGINGFACEHUB_API_TOKEN`` set with your API token,
    or given as a named parameter to the constructor.

    Example:
        .. code-block:: python

            # Basic Example (no streaming)
            llm = HuggingFaceEndpoint(
                endpoint_url="http://localhost:8010/",
                max_new_tokens=512,
                top_k=10,
                top_p=0.95,
                typical_p=0.95,
                temperature=0.01,
                repetition_penalty=1.03,
                huggingfacehub_api_token="my-api-key"
            )
            print(llm.invoke("What is Deep Learning?"))

            # Streaming response example
            from langchain_core.callbacks.streaming_stdout import StreamingStdOutCallbackHandler

            callbacks = [StreamingStdOutCallbackHandler()]
            llm = HuggingFaceEndpoint(
                endpoint_url="http://localhost:8010/",
                max_new_tokens=512,
                top_k=10,
                top_p=0.95,
                typical_p=0.95,
                temperature=0.01,
                repetition_penalty=1.03,
                callbacks=callbacks,
                streaming=True,
                huggingfacehub_api_token="my-api-key"
            )
            print(llm.invoke("What is Deep Learning?"))

    NÚendpoint_urlÚrepo_idÚhuggingfacehub_api_tokeni   Úmax_new_tokensÚtop_kgffffffî?Útop_pÚ	typical_pgš™™™™™é?ÚtemperatureÚrepetition_penaltyFÚreturn_full_textÚtruncate)Údefault_factoryÚstop_sequencesÚseedÚ Úinference_server_urléx   ÚtimeoutÚ	streamingÚ	do_sampleÚ	watermarkÚserver_kwargsÚmodel_kwargsÚmodelÚclientÚasync_clientÚtaskÚforbid)ÚextraÚbefore)ÚmodeÚvaluesÚreturnc           
      óú  — t        | «      }|j                  di «      }t        |«      D ]M  }||v rt        d|› d�«      ‚||vsŒt        j                  d|› d|› d|› d�«       |j                  |«      ||<   ŒO |j                  |j                  «       «      }|rt        d|› d	�«      ‚||d<   d
|vrd|vrt        d«      ‚d
|v rd|v rt        d«      ‚|j                  d
«      xs |j                  d«      |d<   |S )z>Build extra kwargs from additional params that were passed in.r1   zFound z supplied twice.z	WARNING! z/ is not default parameter.
                    zL was transferred to model_kwargs.
                    Please make sure that z is what you intended.zParameters za should be specified explicitly. Instead they were passed in as part of `model_kwargs` parameter.r   r   z<Please specify an `endpoint_url` or `repo_id` for the model.zAPlease specify either an `endpoint_url` OR a `repo_id`, not both.r2   )	r   ÚgetÚlistÚ
ValueErrorÚloggerÚwarningÚpopÚintersectionÚkeys)Úclsr:   Úall_required_field_namesr7   Ú
field_nameÚinvalid_model_kwargss         úw/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/llms/huggingface_endpoint.pyÚbuild_extrazHuggingFaceEndpoint.build_extra…   sI  € ô $<¸CÓ#@Ð Ø—
‘
˜>¨2Ó.ˆÜ˜vž,ˆJØ˜UÑ"Ü  6¨*¨Ð5EÐ!FÓGÐGØÐ!9Ò9Ü—‘Ø! * ð .Ø�Lð !+Ø+5¨,Ð6LðPôð
 %+§J¡J¨zÓ$:��jÒ!ð 'ð  8×DÑDÀUÇZÁZÃ\ÓRÐÙÜØÐ2Ð3ð 4Sð Tóð ð
 "'ˆˆ~ÑØ Ñ'¨I¸VÑ,CÜØNóð ð ˜VÑ#¨	°VÑ(;ÜØSóð ð !Ÿ*™* ^Ó4ÒM¸¿
¹
À9Ó8Mˆˆw‰Øˆó    c                 ó>  — 	 ddl m} |d   xs t        j                  d«      }|�
	  ||¬«       dd	l m}m}  |d|d
   |d   |dœ|d   ¤Ž|d<    |d|d
   |d   |dœ|d   ¤Ž|d<   |S # t        $ r t        d«      ‚w xY w# t
        $ r}t        d«      |‚d}~ww xY w)zCValidate that package is installed and that the API token is valid.r   )ÚloginzfCould not import huggingface_hub python package. Please install it with `pip install huggingface_hub`.r   ÚHUGGINGFACEHUB_API_TOKENN)ÚtokenzICould not authenticate with huggingface_hub. Please check your API token.)ÚAsyncInferenceClientÚInferenceClientr2   r,   )r2   r,   rO   r0   r3   r4   © )	Úhuggingface_hubrM   ÚImportErrorÚosÚgetenvÚ	Exceptionr?   rP   rQ   )rE   r:   rM   r   ÚerP   rQ   s          rI   Úvalidate_environmentz(HuggingFaceEndpoint.validate_environment©   s  € ð	Ý-ð $*Ð*DÑ#Eò $
ÌÏÉØ&óJ
Ð ð $Ð/ðÙÐ4Õ5÷ 	Já*ð 
Ø˜‘/Ø˜9Ñ%Ø*ñ
ð �_Ñ%ñ	
ˆˆxÑñ "6ð "
Ø˜‘/Ø˜9Ñ%Ø*ñ"
ð �_Ñ%ñ	"
ˆˆ~Ñð ˆøôA ò 	ÜðHóð ð	ûô ò Ü ð3óð ðûðús"   ‚A* §	B Á*A?Â	BÂBÂBc                 ó(  — | j                   | j                  | j                  | j                  | j                  | j
                  | j                  | j                  | j                  | j                  | j                  | j                  dœ| j                  ¥S )zEGet the default parameters for calling text generation inference API.)r   r   r    r!   r"   r#   r$   r%   r'   r(   r.   r/   )r   r   r    r!   r"   r#   r$   r%   r'   r(   r.   r/   r1   ©Úselfs    rI   Ú_default_paramsz#HuggingFaceEndpoint._default_paramsÑ   s|   € ð #×1Ñ1Ø—Z‘ZØ—Z‘ZØŸ™Ø×+Ñ+Ø"&×"9Ñ"9Ø $× 5Ñ 5ØŸ™Ø"×1Ñ1Ø—I‘IØŸ™ØŸ™ñ
ð ×Ñð
ð 	
rK   c                 ó`   — | j                   xs i }i | j                  | j                  dœ¥d|i¥S )zGet the identifying parameters.)r   r5   r1   )r1   r   r5   )r\   Ú_model_kwargss     rI   Ú_identifying_paramsz'HuggingFaceEndpoint._identifying_paramsä   sB   € ð ×)Ñ)Ò/¨Rˆð
Ø#×0Ñ0¸$¿)¹)ÑDð
à˜}Ð-ð
ð 	
rK   c                  ó   — y)zReturn type of llm.Úhuggingface_endpointrR   r[   s    rI   Ú	_llm_typezHuggingFaceEndpoint._llm_typeí   s   € ð &rK   Úruntime_stopÚkwargsc                 óD   — i | j                   ¥|¥}|d   |xs g z   |d<   |S )Nr'   )r]   )r\   rd   re   Úparamss       rI   Ú_invocation_paramsz&HuggingFaceEndpoint._invocation_paramsò   s9   € ð 4�D×(Ñ(Ð3¨FÐ3ˆØ#)Ð*:Ñ#;¸|Ò?QÈrÑ#RˆÐÑ ØˆrK   ÚpromptÚstopÚrun_managerc                 ó  —  | j                   |fi |¤Ž}| j                  r-d} | j                  |||fi |¤ŽD ]  }||j                  z  }Œ |S |d   |d<   | j                  j                  ||dœd| j                  ¬«      }	 t        j                  |j                  «       «      d   d   }	|d   D ]$  }
|	t        |
«       d	 |
k(  sŒ|	d	t        |
«        }	Œ& |	S # t        $ r) t        j                  |j                  «       «      d   }	Y Œ_w xY w)
z1Call out to HuggingFace Hub's inference endpoint.r)   r'   rj   ©ÚinputsÚ
parametersF©ÚjsonÚstreamr5   r   Úgenerated_textN)rh   r-   Ú_streamÚtextr3   Úpostr5   rq   ÚloadsÚdecodeÚKeyErrorÚlen©r\   ri   rj   rk   re   Úinvocation_paramsÚ
completionÚchunkÚresponseÚresponse_textÚstop_seqs              rI   Ú_callzHuggingFaceEndpoint._callù   s5  € ð 4˜D×3Ñ3°DÑC¸FÑCÐØ�>Š>ØˆJØ%˜Ÿ™ f¨d°KÑUÐCTÔU�Ø˜eŸj™jÑ(‘
ð VàÐà(9Ø ñ)Ð˜fÑ%ð —{‘{×'Ñ'Ø &Ð6GÑHØØ—Y‘Yð (ó ˆHð
PÜ $§
¡
¨8¯?©?Ó+<Ó =¸aÑ @ÐAQÑ R�ð .Ð.>Ô?�Ø ¤# h£- Ð!1Ð2°hÓ>Ø$1Ð2B´S¸³]°NÐ$C‘Mð @ð !Ð øô ò PÜ $§
¡
¨8¯?©?Ó+<Ó =Ð>NÑ O’ðPús   Â)C Ã/D
Ä	D
c              ‹   óF  K  —  | j                   |fi |¤Ž}| j                  r0d} | j                  |||fi |¤Ž2 3 d {  –—† }||j                  z  }Œ|d   |d<   | j                  j                  ||dœd| j                  ¬«      ƒ d {  –—† }	 t        j                  |j                  «       «      d   d   }	|d   D ]$  }
|	t        |
«       d  |
k(  sŒ|	d t        |
«        }	Œ& |	S 7 Œ§6 |S 7 Œa# t        $ r) t        j                  |j                  «       «      d   }	Y Œfw xY w­w)	Nr)   r'   rj   rm   Frp   r   rs   )rh   r-   Ú_astreamru   r4   rv   r5   rq   rw   rx   ry   rz   r{   s              rI   Ú_acallzHuggingFaceEndpoint._acall  sU  è ø€ ð 4˜D×3Ñ3°DÑC¸FÑCÐØ�>Š>ØˆJØ,˜tŸ}™}Ø˜˜kñ Ø->ò ÷ )�eð ˜eŸj™jÑ(‘
ð ):Ð:JÑ(KÐ˜fÑ%Ø!×.Ñ.×3Ñ3Ø &Ð6GÑHØØ—Y‘Yð 4ó ÷ ˆHð
PÜ $§
¡
¨8¯?©?Ó+<Ó =¸aÑ @ÐAQÑ R�ð .Ð.>Ô?�Ø ¤# h£- Ð!1Ð2°hÓ>Ø$1Ð2B´S¸³]°NÐ$C‘Mð @ð !Ð ð-)øð  ð Ððùô ò PÜ $§
¡
¨8¯?©?Ó+<Ó =Ð>NÑ O’ðPüs]   ‚7D!¹C'½C%¾C'ÁAD!ÂC*Â	D!Â)C, Â7D!ÃD!Ã%C'Ã'D!Ã,/DÄD!ÄDÄD!c              +   ó@  K  —  | j                   |fi |¤Ž} | j                  j                  |fi |¤ddi¤ŽD ]c  }d }|d   D ]	  }||v sŒ|}Œ d }	|r|d |j                  |«       }	n|}	|	r-t	        |	¬«      }
|r|j                  |
j                  «       |
–— |sŒc y  y ­w©Nrr   Tr'   )ru   )rh   r3   Útext_generationÚindexr   Úon_llm_new_tokenru   ©r\   ri   rj   rk   re   r|   r   Ústop_seq_foundr�   ru   r~   s              rI   rt   zHuggingFaceEndpoint._stream>  sÉ   è ø€ ð 4˜D×3Ñ3°DÑC¸FÑCÐà3˜Ÿ™×3Ñ3Øñ
Ø'ñ
Ø04õ
ˆHð -1ˆNØ-Ð.>Ô?�Ø˜xÒ'Ø%-‘Nð @ð
 #'ˆDÙØÐ @ (§.¡.°Ó"@ÐA‘à�ñ Ü'¨TÔ2�áØ×0Ñ0°·±Ô<Ø’ò Ùñ5
ùs   ‚ABÁ	ABÂBc                óz  K  —  | j                   |fi |¤Ž} | j                  j                  |fi |¤ddi¤Žƒ d {  –—† 2 3 d {  –—† }d }|d   D ]	  }||v sŒ|}Œ d }	|r|d |j                  |«       }	n|}	|	r6t	        |	¬«      }
|r#|j                  |
j                  «      ƒ d {  –—†  |
­–— |sŒr y 7 Œx7 Œq7 Œ6 y ­wr‡   )rh   r4   rˆ   r‰   r   rŠ   ru   r‹   s              rI   r„   zHuggingFaceEndpoint._astreamc  só   è ø€ ð 4˜D×3Ñ3°DÑC¸FÑCÐØ$E D×$5Ñ$5×$EÑ$EØñ%
Ø'ñ%
Ø04ò%
÷ 
ð 
÷ 	�(ð -1ˆNØ-Ð.>Ô?�Ø˜xÒ'Ø%-‘Nð @ð
 #'ˆDÙØÐ @ (§.¡.°Ó"@ÐA‘à�ñ Ü'¨TÔ2�áØ%×6Ñ6°u·z±zÓB×BÐBØ“ò Ùð5
øð 	øð* Cøñ+
ùsQ   ‚8B;ºB3»B;¿B9ÁB5ÁB9ÁB;ÁAB;Â$B7Â%B;Â1B;Â5B9Â7B;Â9B;)NN)=Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r	   ÚstrÚ__annotations__r   r   r   Úintr   r    Úfloatr!   r"   r#   r$   Úboolr%   r   r>   r'   r   r(   r*   r,   r-   r.   r/   Údictr0   r   r   r1   r3   r4   r5   r   Úmodel_configr   ÚclassmethodrJ   r   rY   Úpropertyr]   r   r`   rc   rh   r   r‚   r   r…   r   r   rt   r   r„   rR   rK   rI   r   r      sË  … ñ)ðV #'€L�(˜3‘-Ó&ØØ!€GˆX�c‰]Ó!ØØ.2Ð˜h s™mÓ2Ø€N�CÓØ,Ø€Eˆ8�C‰=Óðà!€Eˆ8�E‰?Ó!ðAà!%€Iˆx˜‰Ó%ðKà#&€K�˜%‘Ó&Ø;Ø*.Ð˜ ™Ó.ðPà"Ð�dÓ"Ø=Ø"€Hˆh�s‰mÓ"Ø2Ù %°dÔ ;€N�D˜‘IÓ;ØMØ€Dˆ(�3‰-ÓØØ "Ð˜#Ó"Ø5Ø€GˆSÓØØ€IˆtÓØ?Ø€IˆtÓØ"Ø€IˆtÓð*á$)¸$Ô$?€M�4˜˜S˜‘>Ó?ØXÙ#(¸Ô#>€L�$�s˜C�x‘.Ó>ØNØƒJØ€FˆCÓØ€L�#ÓØ€Dˆ(�3‰-ÓðIñ Øô€Lñ ˜(Ô#Øð   c¨3 h¡ð  °Cò  ó ó $ð ðD ð%¨$ð %°4ò %ó ð%ðN ð
  c¨3 h¡ò 
ó ð
ð$ ð
 W¨S°#¨XÑ%6ò 
ó ð
ð ð&˜3ò &ó ð&ðØ$ T¨#¡YÑ/ðØ;>ðà	ˆc�3ˆh‰óð %)Ø:>ñ	!!àð!!ð �t˜C‘yÑ!ð!!ð Ð6Ñ7ð	!!ð
 ð!!ð 
ó!!ðL %)Ø?Cñ	 !àð !ð �t˜C‘yÑ!ð !ð Ð;Ñ<ð	 !ð
 ð !ð 
ó !ðJ %)Ø:>ñ	#àð#ð �t˜C‘yÑ!ð#ð Ð6Ñ7ð	#ð
 ð#ð 
�/Ñ	"ó#ðP %)Ø?Cñ	"àð"ð �t˜C‘yÑ!ð"ð Ð;Ñ<ð	"ð
 ð"ð 
�Ñ	'ô"rK   r   ) rq   ÚloggingrU   Útypingr   r   r   r   r   r   r	   Úlangchain_core._api.deprecationr
   Úlangchain_core.callbacksr   r   Ú#langchain_core.language_models.llmsr   Úlangchain_core.outputsr   Úlangchain_core.utilsr   r   Úpydanticr   r   r   Ú	getLoggerrŽ   r@   ÚVALID_TASKSr   rR   rK   rI   Ú<module>r¥      sy   ðÛ Û Û 	ß N× NÑ Nå 6÷õ 4Ý 2÷÷ 8Ñ 7à	ˆ×	Ñ	˜8Ó	$€ð€ñ Ø
ØØBôô
c˜#ó cóñ
crK   