§
    šŠtjU  ã                  ó~   — 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d	S )
é    )Ú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   Ú_clientÚkwargsc                óÞ   •—  t          ¦   «         j        di |¤Ž |                      ¦   «          	 ddlm}  || j        ¦  «        | _        d S # 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)Úselfr   r!   ÚeÚ	__class__s       €ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/llms/mlflow.pyr$   zMlflow.__init__/   sœ   ø€ Ø�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ø×ÒÑÔÐð		Ø<Ð<Ð<Ð<Ð<Ð<à,Ð,¨T¬_Ñ=Ô=ˆDŒLˆLˆLøÝð 	ð 	ð 	Ýð)ñô ð ð	øøøøð	øøøs   °A Á
A,ÁA'Á'A,ÚreturnÚNonec                ó”   — | j         dk    rd S g d¢}t          | j         ¦  «        j        |vrt          d| j         › d|› d�¦  «        ‚d S )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=   sv   € ØŒ?˜lÒ*Ð*ØˆFØ1Ð1Ð1ˆÝ�D”OÑ$Ô$Ô+°7Ð:Ð:Ýð8 t¤ð 8ð 8Ø-4ð8ð 8ð 8ñô ð ð ;Ð:ó    c                ó\   — | j         | j        | j        | j        | j        | j        | j        dœS )N©r   r   r   r   r   r   r   r8   ©r(   s    r+   Ú_default_paramszMlflow._default_paramsG   s8   € ð œ/ØœØÔ+Ø”Ø”IØœ/Ø Ô-ð
ð 
ð 	
r6   úMapping[str, Any]c                ó   — | j         S )N)r:   r9   s    r+   Ú_identifying_paramszMlflow._identifying_paramsS   s   € àÔ#Ð#r6   ÚpromptÚrun_managerú"Optional[CallbackManagerForLLMRun]c                óà   — || j         | j        dœ| j        ¥|¥}| j        p|x}r||d<   | j        �
| j        |d<   | j                             | j        |¬¦  «        }|d         d         d         S )N)r>   r   r   r   r   )r   ÚinputsÚchoicesr   Útext)r   r   r   r   r   r   Úpredictr   )r(   r>   r   r?   r   ÚdataÚresps          r+   Ú_callzMlflow._callW   s˜   € ð ØÔ+Ø”ð 
ð  
ð Ôð	 
ð
 ð 
ˆð ”9Ð$ Ð$ˆ4ð 	 ØˆD�‰LØŒ?Ð&Ø!%¤ˆD�ÑàŒ|×#Ò#¨T¬]À4Ð#ÑHÔHˆØ�IŒ˜qÔ! &Ô)Ð)r6   c                ó   — dS )NÚmlflowr"   r9   s    r+   Ú	_llm_typezMlflow._llm_typem   s   € àˆxr6   )r   r   )r,   r-   )r,   r   )r,   r;   )NN)
r>   r   r   r   r?   r@   r   r   r,   r   )r,   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r   r   r   r   r   Údictr   r   r   r$   r%   Úpropertyr:   r=   rH   rK   Ú__classcell__)r*   s   @r+   r   r      s  ø€ € € € € € ðð ð" €M€M�MØØ€O€O�OØ Ø€KÐÐÐÑØ#Ø€A€J€J€J�JØ7Ø $€DÐ$Ð$Ð$Ñ$ØØ $€JÐ$Ð$Ð$Ñ$Ø3Ø#( 5¸Ð#>Ñ#>Ô#>€LÐ>Ð>Ð>Ñ>Ø7à1Ø�;‘=”=€GÐ Ð Ð Ñ ðð ð ð ð ð ðð ð ð ð ð	
ð 	
ð 	
ñ „Xð	
ð ð$ð $ð $ñ „Xð$ð %)Ø:>ð	*ð *ð *ð *ð *ð, ðð ð ñ „Xðð ð ð ð r6   r   N)Ú
__future__r   Útypingr   r   r   r   r   Úurllib.parser	   Úlangchain_core.callbacksr
   Úlangchain_core.language_modelsr   Úpydanticr   r   r   r"   r6   r+   ú<module>rZ      sÍ   ðØ "Ð "Ð "Ð "Ð "Ð "à 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø !Ð !Ð !Ð !Ð !Ð !à =Ð =Ð =Ð =Ð =Ð =Ø .Ð .Ð .Ð .Ð .Ð .Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'ðdð dð dð dð dˆSñ dô dð dð dð dr6   