Ë
    µŒjU  ã                  óv   — d dl mZ d dlmZmZmZmZmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZmZ  G d„ de«      Zy	)
é    )Úannotations)ÚAnyÚDictÚListÚMappingÚOptional)Úurlparse)ÚCallbackManagerForLLMRun)ÚLLM)ÚFieldÚPrivateAttrc                  ó  ‡ — e Zd ZU dZded<   	 ded<   	 dZded<   	 dZd	ed
<   	 dZded<   	 dZded<   	  e	e
¬«      Zded<   	 	  e«       Zded<   dˆ fd„Zdd„Zedd„«       Zedd„«       Z	 	 d	 	 	 	 	 	 	 	 	 d d„Zed!d„«       Zˆ xZS )"ÚMlflowa¿  MLflow LLM service.

    To use, you should have the `mlflow[genai]` python package installed.
    For more information, see https://mlflow.org/docs/latest/llms/deployments.

    Example:
        .. code-block:: python

            from langchain_community.llms import Mlflow

            completions = Mlflow(
                target_uri="http://localhost:5000",
                endpoint="test",
                temperature=0.1,
            )
    ÚstrÚendpointÚ
target_urig        ÚfloatÚtemperatureé   ÚintÚnNúOptional[List[str]]ÚstopzOptional[int]Ú
max_tokens)Údefault_factoryúDict[str, Any]Úextra_paramsr   Ú_clientc                óº   •— t        ‰| �  di |¤Ž | j                  «        	 ddlm}  || j
                  «      | _        y # t        $ r}t        d«      |‚d }~ww xY w)Nr   )Úget_deploy_clientzeFailed to create the client. Please run `pip install mlflow[genai]` to install required dependencies.© )ÚsuperÚ__init__Ú_validate_uriÚmlflow.deploymentsr    r   r   ÚImportError)ÚselfÚkwargsr    ÚeÚ	__class__s       €úi/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/llms/mlflow.pyr#   zMlflow.__init__/   s^   ø€ Ü‰ÑÑ"˜6Ò"Ø×ÑÔð		Ý<á,¨T¯_©_Ó=ˆD�LøÜò 	Üð)óð ð	ûð	ús   ¢A  Á 	AÁ	AÁAc                ó¦   — | j                   dk(  ry g d¢}t        | j                   «      j                  |vrt        d| j                   › d|› d�«      ‚y )NÚ
databricks)ÚhttpÚhttpsr-   zInvalid target URI: z. The scheme must be one of Ú.)r   r	   ÚschemeÚ
ValueError)r'   Úalloweds     r+   r$   zMlflow._validate_uri=   s\   € Ø�?‰?˜lÒ*ØÚ1ˆÜ�D—O‘OÓ$×+Ñ+°7Ñ:ÜØ& t§¡Ð&7ð 8-Ø-4¨I°Qð8óð ð ;ó    c                ó¢   — | j                   | j                  | j                  | j                  | j                  | j
                  | j                  dœS )N©r   r   r   r   r   r   r   r6   ©r'   s    r+   Ú_default_paramszMlflow._default_paramsG   sC   € ð Ÿ/™/ØŸ™Ø×+Ñ+Ø—‘Ø—I‘IØŸ/™/Ø ×-Ñ-ñ
ð 	
r4   c                ó   — | j                   S )N)r8   r7   s    r+   Ú_identifying_paramszMlflow._identifying_paramsS   s   € à×#Ñ#Ð#r4   c                ó  — || j                   | j                  dœ| j                  ¥|¥}| j                  xs |x}r||d<   | j                  �| j                  |d<   | j
                  j                  | j                  |¬«      }|d   d   d   S )N)Úpromptr   r   r   r   )r   ÚinputsÚchoicesr   Útext)r   r   r   r   r   r   Úpredictr   )r'   r<   r   Úrun_managerr(   ÚdataÚresps          r+   Ú_callzMlflow._callW   s    € ð Ø×+Ñ+Ø—‘ñ 
ð ×Ñð	 
ð
 ð 
ˆð —9‘9Ò$ Ð$ˆ4Ð$ØˆD�‰LØ�?‰?Ð&Ø!%§¡ˆD�Ñà�|‰|×#Ñ#¨T¯]©]À4Ð#ÓHˆØ�I‰˜qÑ! &Ñ)Ð)r4   c                 ó   — y)NÚmlflowr!   r7   s    r+   Ú	_llm_typezMlflow._llm_typem   s   € àr4   )r(   r   )ÚreturnÚNone)rH   r   )rH   zMapping[str, Any])NN)
r<   r   r   r   rA   z"Optional[CallbackManagerForLLMRun]r(   r   rH   r   )rH   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r   r   r   r   r   Údictr   r   r   r#   r$   Úpropertyr8   r:   rD   rG   Ú__classcell__)r*   s   @r+   r   r      sò   ø… ñð" ƒMØØƒOØ Ø€K�ÓØ#Ø€A€sƒJØ7Ø $€DÐ
Ó$ØØ $€J�Ó$Ø3Ù#(¸Ô#>€L�.Ó>Ø7à1Ù“=€GˆSÓ õóð ò	
ó ð	
ð ò$ó ð$ð %)Ø:>ð	*àð*ð "ð*ð 8ð	*ð
 ð*ð 
ó*ð, òó ôr4   r   N)Ú
__future__r   Útypingr   r   r   r   r   Úurllib.parser	   Úlangchain_core.callbacksr
   Úlangchain_core.language_modelsr   Úpydanticr   r   r   r!   r4   r+   Ú<module>rX      s(   ðÝ "ç 5Õ 5Ý !å =Ý .ß 'ôdˆSõ dr4   