§
    šŠtjÿ<  ã                   ó|  — 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	m
Z
mZ d dlmZmZ d dlmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZm Z m!Z! d dl"m#Z#m$Z$m%Z%  G d„ d	e%¦  «        Z& G d
„ de%¦  «        Z' G d„ de'¦  «        Z( G d„ de(¦  «        Z) G d„ dee#¦  «        Z*dee+ef         de
e         defd„Z,dS )é    N)	ÚAnyÚAsyncIteratorÚDictÚIteratorÚListÚMappingÚOptionalÚTypeÚcast)ÚAsyncCallbackManagerForLLMRunÚCallbackManagerForLLMRun)ÚBaseChatModel)Ú	AIMessageÚAIMessageChunkÚBaseMessageÚBaseMessageChunkÚChatMessageÚChatMessageChunkÚFunctionMessageChunkÚHumanMessageÚHumanMessageChunkÚSystemMessageÚSystemMessageChunkÚToolMessageChunk)ÚChatGenerationÚChatGenerationChunkÚ
ChatResult)ÚAzureMLBaseEndpointÚAzureMLEndpointApiTypeÚContentFormatterBasec                   ó   — e Zd ZdZdd„ZdS )ÚLlamaContentFormatterzContent formatter for `LLaMA`.ÚreturnNc                 ó    — t          d¦  «        ‚)Nzb`LlamaContentFormatter` is deprecated for chat models. Use `CustomOpenAIContentFormatter` instead.)Ú	TypeError©Úselfs    ún/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/chat_models/azureml_endpoint.pyÚ__init__zLlamaContentFormatter.__init__.   s   € Ýð6ñ
ô 
ð 	
ó    ©r#   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r)   © r*   r(   r"   r"   +   s.   € € € € € Ø(Ð(ð
ð 
ð 
ð 
ð 
ð 
r*   r"   c                   óÀ   — e Zd ZU dZg d¢Zee         ed<   ede	de
fd„¦   «         Zedee         fd„¦   «         Zdee	         d	e
d
edefd„Zej        fded
edefd„ZdS )Ú CustomOpenAIChatContentFormatterz>Chat Content formatter for models with OpenAI like API scheme.)ÚuserÚ	assistantÚsystemÚSUPPORTED_ROLESÚmessager#   c                 ó<  — t          t          | j        ¦  «        }t          | t          ¦  «        rdt          j        |¦  «        dœS t          | t          ¦  «        rdt          j        |¦  «        dœS t          | t          ¦  «        rdt          j        |¦  «        dœS t          | t          ¦  «        r/| j
        t          j        v r| j
        t          j        |¦  «        dœS d                     d„ t          j        D ¦   «         ¦  «        }t          d|› �¦  «        ‚)z0Converts a message to a dict according to a roler3   )ÚroleÚcontentr4   r5   ú,c                 ó   — g | ]}|‘ŒS r0   r0   )Ú.0r9   s     r(   ú
<listcomp>zMCustomOpenAIChatContentFormatter._convert_message_to_dict.<locals>.<listcomp>W   s   € ÐSÐSÐS˜$�ÐSÐSÐSr*   z\Received unsupported role. 
                Supported roles for the LLaMa Foundation Model: )r   Ústrr:   Ú
isinstancer   r    Úescape_special_charactersr   r   r   r9   r2   r6   ÚjoinÚ
ValueError)r7   r:   Ú	supporteds      r(   Ú_convert_message_to_dictz9CustomOpenAIChatContentFormatter._convert_message_to_dict:   sK  € õ •s˜GœOÑ,Ô,ˆÝ�g�|Ñ,Ô,ð 	àÝ/ÔIÈ'ÑRÔRðð ð õ ˜¥Ñ+Ô+ð 	à#Ý/ÔIÈ'ÑRÔRðð ð õ ˜¥Ñ/Ô/ð 	à Ý/ÔIÈ'ÑRÔRðð ð õ
 �w¥Ñ,Ô,ð	à”Õ @Ô PÐPÐPð  œÝ/ÔIÈ'ÑRÔRðð ð ð
 ŸšØSÐSÕ"BÔ"RÐSÑSÔSñô ˆIõ ðOØAJðOð Oñô ð r*   c                 ó2   — t           j        t           j        gS )N)r   Ú	dedicatedÚ
serverlessr&   s    r(   Úsupported_api_typesz4CustomOpenAIChatContentFormatter.supported_api_types^   s   € å&Ô0Õ2HÔ2SÐTÐTr*   ÚmessagesÚmodel_kwargsÚapi_typec                 ó.  — d„ |D ¦   «         }|t           j        t           j        fv rt          j        d||dœi¦  «        }n<|t           j        k    rt          j        d|i|¥¦  «        }nt          d|› d�¦  «        ‚t                               |¦  «        S )ú/Formats the request according to the chosen apic                 óB   — g | ]}t                                |¦  «        ‘ŒS r0   ©r2   rE   )r=   r7   s     r(   r>   zTCustomOpenAIChatContentFormatter.format_messages_request_payload.<locals>.<listcomp>i   s6   € ð 
ð 
ð 
àõ -×EÒEÀgÑNÔNð
ð 
ð 
r*   Ú
input_data©Úinput_stringÚ
parametersrJ   ú`api_type` ú# is not supported by this formatter)	r   rG   ÚrealtimeÚjsonÚdumpsrH   rC   r?   Úencode©r'   rJ   rK   rL   Úchat_messagesÚrequest_payloads         r(   Úformat_messages_request_payloadz@CustomOpenAIChatContentFormatter.format_messages_request_payloadb   sÍ   € ð
ð 
à#ð
ñ 
ô 
ˆð Ý"Ô,Ý"Ô+ð
ð 
ð 
õ #œjà Ø(5Ø&2ð#ð #ðñô ˆOˆOð Õ/Ô:Ò:Ð:Ý"œj¨*°mÐ)TÀ|Ð)TÑUÔUˆOˆOåØK˜hÐKÐKÐKñô ð õ �zŠz˜/Ñ*Ô*Ð*r*   Úoutputc           	      óB  — |t           j        t           j        fv r•	 t          j        |¦  «        d         }nH# t
          t          t          f$ r.}t          | j	         
                    |¬¦  «        ¦  «        |‚d}~ww xY wt          t          |                     ¦   «         ¬¦  «        d¬¦  «        S |t           j        k    �rM	 t          j        |¦  «        d         d         }t          |t           ¦  «        st          d¦  «        ‚nH# t
          t          t          f$ r.}t          | j	         
                    |¬¦  «        ¦  «        |‚d}~ww xY wt          |d	         d
         dk    r.t          |d	         d                              ¦   «         ¬¦  «        n:t#          |d	         d                              ¦   «         |d	         d
         ¬¦  «        t!          |                     d¦  «        |                     d¦  «        ¬¦  «        ¬¦  «        S t          d|› d�¦  «        ‚)zFormats responser_   )rL   N©r:   ©r7   Úgeneration_infoÚchoicesr   ziEndpoint response is not well formed for a chat model. Expected `dict` but `{type(choice)}` was received.r7   r9   r4   r:   )r:   ÚtypeÚfinish_reasonÚlogprobs)rf   rg   rU   rV   )r   rG   rW   rX   ÚloadsÚKeyErrorÚ
IndexErrorr%   rC   Úformat_error_msgÚformatr   r   ÚstriprH   r@   Údictr   Úget)r'   r_   rL   ÚchoiceÚes        r(   Úformat_response_payloadz8CustomOpenAIChatContentFormatter.format_response_payload�   sQ  € ð Ý"Ô,Ý"Ô+ð
ð 
ð 
ðYÝœ FÑ+Ô+¨HÔ5��øÝ�j­)Ð4ð Yð Yð YÝ  Ô!6×!=Ò!=ÀxÐ!=Ñ!PÔ!PÑQÔQÐWXÐXøøøøðYøøøå!Ý!Ø"ŸLšL™NœNðñ ô ð !%ð	ñ ô ð ð Õ-Ô8Ò8Ñ8ðYÝœ FÑ+Ô+¨IÔ6°qÔ9�Ý! &­$Ñ/Ô/ð Ý#ðTñô ð ðøõ
 �j­)Ð4ð Yð Yð YÝ  Ô!6×!=Ò!=ÀxÐ!=Ñ!PÔ!PÑQÔQÐWXÐXøøøøðYøøøå!à˜)Ô$ VÔ,°Ò;Ð;õ "¨&°Ô*;¸IÔ*F×*LÒ*LÑ*NÔ*NÐOÑOÔOÐOå Ø" 9Ô-¨iÔ8×>Ò>Ñ@Ô@Ø 	Ô*¨6Ô2ðñ ô õ !%Ø"(§*¢*¨_Ñ"=Ô"=Ø#ŸZšZ¨
Ñ3Ô3ð!ñ !ô !ðñ ô ð õ ÐT xÐTÐTÐTÑUÔUÐUs.   œ7 ·A<Á)A7Á7A<ÃAD ÄEÄ)EÅEN)r,   r-   r.   r/   r6   r   r?   Ú__annotations__Ústaticmethodr   r   rE   Úpropertyr   rI   Úbytesr^   rG   r   rr   r0   r*   r(   r2   r2   5   s  € € € € € € ØHÐHà!@Ð!@Ð!@€O�T˜#”YÐ@Ð@Ñ@àð!¨+ð !¸$ð !ð !ð !ñ „\ð!ðF ðU TÐ*@Ô%Að Uð Uð Uñ „XðUð+à�{Ô#ð+ð ð+ð )ð	+ð
 
ð+ð +ð +ð +ðD ,BÔ+Kð*Vð *Vàð*Vð )ð*Vð 
ð	*Vð *Vð *Vð *Vð *Vð *Vr*   r2   c                   ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )ÚLlamaChatContentFormatterzSDeprecated: Kept for backwards compatibility

    Chat Content formatter for Llama.r#   Nc                 óp   •— t          ¦   «                              ¦   «          t          j        d¦  «         d S )Nz”`LlamaChatContentFormatter` will be deprecated in the future. 
                Please use `CustomOpenAIChatContentFormatter` instead.  
            )Úsuperr)   ÚwarningsÚwarn)r'   Ú	__class__s    €r(   r)   z"LlamaChatContentFormatter.__init__³   s<   ø€ Ý‰Œ×ÒÑÔÐÝŒðñ	
ô 	
ð 	
ð 	
ð 	
r*   r+   )r,   r-   r.   r/   r)   Ú__classcell__)r}   s   @r(   rx   rx   ®   sG   ø€ € € € € ð)ð )ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r*   rx   c                   ó6   — e Zd ZdZdee         dededefd„Z	dS )ÚMistralChatContentFormatterz Content formatter for `Mistral`.rJ   rK   rL   r#   c                 ó   ‡ — ˆ fd„|D ¦   «         }|r>|d         d         dk    r,|d         d         dz   |d         d         z   |d         d<   |d= |t           j        k    rt          j        d||d	œi¦  «        }n<|t           j        k    rt          j        d
|i|¥¦  «        }nt          d|› d�¦  «        ‚t                               |¦  «        S )rN   c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS r0   )rE   )r=   r7   r'   s     €r(   r>   zOMistralChatContentFormatter.format_messages_request_payload.<locals>.<listcomp>Æ   s'   ø€ ÐXÐXÐXÀG˜×6Ò6°wÑ?Ô?ÐXÐXÐXr*   r   r9   r5   r:   z

é   rQ   rR   rJ   rU   rV   )r   rW   rX   rY   rH   rC   r?   rZ   r[   s   `     r(   r^   z;MistralChatContentFormatter.format_messages_request_payload¿   s  ø€ ð YÐXÐXÐXÈxÐXÑXÔXˆàð 	!˜]¨1Ô-¨fÔ5¸ÒAÐAð ˜aÔ  Ô+¨fÑ4°}ÀQÔ7GÈ	Ô7RÑRð ˜!Ô˜YÑ'ð ˜aÐ àÕ-Ô6Ò6Ð6Ý"œjà Ø(5Ø&2ð#ð #ðñô ˆOˆOð Õ/Ô:Ò:Ð:Ý"œj¨*°mÐ)TÀ|Ð)TÑUÔUˆOˆOåØK˜hÐKÐKÐKñô ð õ �zŠz˜/Ñ*Ô*Ð*r*   N)
r,   r-   r.   r/   r   r   r   r   rv   r^   r0   r*   r(   r€   r€   ¼   sY   € € € € € Ø*Ð*ð +à�{Ô#ð +ð ð +ð )ð	 +ð
 
ð +ð  +ð  +ð  +ð  +ð  +r*   r€   c                   óh  — e Zd ZdZedeeef         fd„¦   «         Zedefd„¦   «         Z		 	 dde
e         dee
e                  dee         d	edef
d
„Z	 	 dde
e         dee
e                  dee         d	edee         f
d„Z	 	 dde
e         dee
e                  dee         d	edee         f
d„ZdS )ÚAzureMLChatOnlineEndpointa«  Azure ML Online Endpoint chat models.

    Example:
        .. code-block:: python
            azure_llm = AzureMLOnlineEndpoint(
                endpoint_url="https://<your-endpoint>.<your_region>.inference.ml.azure.com/v1/chat/completions",
                endpoint_api_type=AzureMLApiType.serverless,
                endpoint_api_key="my-api-key",
                content_formatter=chat_content_formatter,
            )
    r#   c                 ó    — | j         pi }i d|i¥S )zGet the identifying parameters.rK   )rK   )r'   Ú_model_kwargss     r(   Ú_identifying_paramsz-AzureMLChatOnlineEndpoint._identifying_paramsï   s(   € ð Ô)Ð/¨Rˆð
Ø˜}Ð-ð
ð 	
r*   c                 ó   — dS )zReturn type of llm.Úazureml_chat_endpointr0   r&   s    r(   Ú	_llm_typez#AzureMLChatOnlineEndpoint._llm_type÷   s
   € ð 'Ð&r*   NrJ   ÚstopÚrun_managerÚkwargsc                 ó(  — | j         pi }|                     |¦  «         |r||d<   | j                             ||| j        ¦  «        }| j                             ||¬¦  «        }| j                             || j        ¦  «        }t          |g¬¦  «        S )a�  Call out to an AzureML Managed Online endpoint.
        Args:
            messages: The messages in the conversation with the chat model.
            stop: Optional list of stop words to use when generating.
        Returns:
            The string generated by the model.
        Example:
            .. code-block:: python
                response = azureml_model.invoke("Tell me a joke.")
        rŒ   )Úbodyr�   )Úgenerations)	rK   ÚupdateÚcontent_formatterr^   Úendpoint_api_typeÚhttp_clientÚcallrr   r   )	r'   rJ   rŒ   r�   rŽ   r‡   r]   Úresponse_payloadr‘   s	            r(   Ú	_generatez#AzureMLChatOnlineEndpoint._generateü   sµ   € ð" Ô)Ð/¨RˆØ×Ò˜VÑ$Ô$Ð$Øð 	)Ø$(ˆM˜&Ñ!àÔ0×PÒPØ�m TÔ%;ñ
ô 
ˆð  Ô+×0Ò0Ø ¨kð 1ñ 
ô 
Ðð Ô,×DÒDØ˜dÔ4ñ
ô 
ˆõ  { mÐ4Ñ4Ô4Ð4r*   c              +   ó   K  — | j                              dd¦  «        | _         d|vrd n|d         }dd l}i }| j                             ¦   «         | j         |d d d dœ} |j        di |¤Ž}	d„ |D ¦   «         }
d|d dœ|¥}t          } |	j        j        j	        dd	|
i|¤ŽD ]à}t          |t          ¦  «        s|                     ¦   «         }t          |d
         ¦  «        dk    rŒE|d
         d         }t          |d         |¦  «        }i }|                     d¦  «        x}r||d<   |                     d¦  «        }|r||d<   |j        }t!          ||pd ¬¦  «        }|r|                     |j        ||¬¦  «         |V — Œád S )Nú/chat/completionsÚ Útimeoutr   ©Úapi_keyÚbase_urlrœ   Údefault_headersÚdefault_queryr•   c                 óB   — g | ]}t                                |¦  «        ‘ŒS r0   rP   ©r=   Úms     r(   r>   z5AzureMLChatOnlineEndpoint._stream.<locals>.<listcomp>4  ó6   € ð 
ð 
ð 
àõ -×EÒEÀaÑHÔHð
ð 
ð 
r*   T©ÚstreamrŒ   ÚmodelrJ   rd   Údeltarf   rg   rb   )Úchunkrg   r0   )Úendpoint_urlÚreplaceÚopenaiÚendpoint_api_keyÚget_secret_valueÚOpenAIr   ÚchatÚcompletionsÚcreater@   rn   ÚlenÚ_convert_delta_to_message_chunkro   r}   r   Úon_llm_new_tokenÚtext)r'   rJ   rŒ   r�   rŽ   rœ   r­   ÚparamsÚclient_paramsÚclientÚmessage_dictsÚdefault_chunk_classrª   rp   rc   rf   rg   s                    r(   Ú_streamz!AzureMLChatOnlineEndpoint._stream  s  è è € ð !Ô-×5Ò5Ð6IÈ2ÑNÔNˆÔØ#¨6Ð1Ð1�$�$°v¸iÔ7HˆàˆˆˆàˆàÔ,×=Ò=Ñ?Ô?ØÔ)ØØ#Ø!Øð
ð 
ˆð �”Ð/Ð/ Ð/Ð/ˆð
ð 
àð
ñ 
ô 
ˆð !¨$¸ÐHÐHÀÐHˆå6DÐØ3�V”[Ô,Ô3ÐUÐU¸]ÐUÈfÐUÐUð 	ð 	ˆEÝ˜e¥TÑ*Ô*ð %ØŸ
š
™œ�Ý�5˜Ô#Ñ$Ô$¨Ò)Ð)ØØ˜9Ô% aÔ(ˆFÝ3Ø�w”Ø#ñô ˆEð !ˆOØ &§
¢
¨?Ñ ;Ô ;Ð;ˆ}ð AØ3@� Ñ0Ø—z’z *Ñ-Ô-ˆHØð 7Ø.6� 
Ñ+Ø"'¤/ÐÝ'ØØ /Ð 7°4ðñ ô ˆEð ð YØ×,Ò,¨U¬Z¸uÈxÐ,ÑXÔXÐXØˆKˆKˆKˆKð/	ð 	r*   c                ó&  K  — | j                              dd¦  «        | _         d|vrd n|d         }dd l}i }| j                             ¦   «         | j         |d d d dœ} |j        di |¤Ž}	d„ |D ¦   «         }
d|d dœ|¥}t          } |	j        j        j	        dd	|
i|¤Žƒ d {V —†2 3 d {V —†}t          |t          ¦  «        s|                     ¦   «         }t          |d
         ¦  «        dk    rŒJ|d
         d         }t          |d         |¦  «        }i }|                     d¦  «        x}r||d<   |                     d¦  «        }|r||d<   |j        }t!          ||pd ¬¦  «        }|r#|                     |j        ||¬¦  «        ƒ d {V —† |W V — Œí6 d S )Nrš   r›   rœ   r   r�   c                 óB   — g | ]}t                                |¦  «        ‘ŒS r0   rP   r£   s     r(   r>   z6AzureMLChatOnlineEndpoint._astream.<locals>.<listcomp>k  r¥   r*   Tr¦   rJ   rd   r©   rf   rg   rb   )Útokenrª   rg   r0   )r«   r¬   r­   r®   r¯   ÚAsyncOpenAIr   r±   r²   r³   r@   rn   r´   rµ   ro   r}   r   r¶   r·   )r'   rJ   rŒ   r�   rŽ   rœ   r­   r¸   r¹   Úasync_clientr»   r¼   rª   rp   rc   rf   rg   s                    r(   Ú_astreamz"AzureMLChatOnlineEndpoint._astreamT  s‚  è è € ð !Ô-×5Ò5Ð6IÈ2ÑNÔNˆÔØ#¨6Ð1Ð1�$�$°v¸iÔ7HˆàˆˆˆàˆàÔ,×=Ò=Ñ?Ô?ØÔ)ØØ#Ø!Øð
ð 
ˆð *�vÔ)Ð:Ð:¨MÐ:Ð:ˆð
ð 
àð
ñ 
ô 
ˆð !¨$¸ÐHÐHÀÐHˆå6DÐØ!E Ô!2Ô!>Ô!Eð "
ð "
Ø"ð"
àð"
ð "
ð 
ð 
ð 
ð 
ð 
ð 
ð 	ð 	ð 	ð 	ð 	ð 	ð 	�%õ ˜e¥TÑ*Ô*ð %ØŸ
š
™œ�Ý�5˜Ô#Ñ$Ô$¨Ò)Ð)ØØ˜9Ô% aÔ(ˆFÝ3Ø�w”Ð!4ñô ˆEð !ˆOØ &§
¢
¨?Ñ ;Ô ;Ð;ˆ}ð AØ3@� Ñ0Ø—z’z *Ñ-Ô-ˆHØð 7Ø.6� 
Ñ+Ø"'¤/ÐÝ'Ø¨Ð/FÀ$ðñ ô ˆEð ð Ø!×2Ò2Øœ*¨E¸Hð 3ñ ô ð ð ð ð ð ð ð ð ˆKˆKˆKˆKˆKð5
ð 
ð 
s   Â#F)NN)r,   r-   r.   r/   ru   r   r?   r   rˆ   r‹   r   r   r	   r   r   r˜   r   r   r½   r   r   rÃ   r0   r*   r(   r…   r…   â   s±  € € € € € ð
ð 
ð ð
 T¨#¨s¨(¤^ð 
ð 
ð 
ñ „Xð
ð ð'˜3ð 'ð 'ð 'ñ „Xð'ð %)Ø:>ð	5ð 5à�{Ô#ð5ð �t˜C”yÔ!ð5ð Ð6Ô7ð	5ð
 ð5ð 
ð5ð 5ð 5ð 5ðH %)Ø:>ð	5ð 5à�{Ô#ð5ð �t˜C”yÔ!ð5ð Ð6Ô7ð	5ð
 ð5ð 
Ð%Ô	&ð5ð 5ð 5ð 5ðt %)Ø?Cð	8ð 8à�{Ô#ð8ð �t˜C”yÔ!ð8ð Ð;Ô<ð	8ð
 ð8ð 
Ð*Ô	+ð8ð 8ð 8ð 8ð 8ð 8r*   r…   Ú_dictÚdefault_classr#   c                 ó&  — t          t          |                      d¦  «        ¦  «        }t          t          |                      d¦  «        pd¦  «        }i }|                      d¦  «        r+t          | d         ¦  «        }d|v r|d         €d|d<   ||d<   |                      d¦  «        r| d         |d<   |dk    s|t          k    rt	          |¬¦  «        S |d	k    s|t
          k    rt          ||¬
¦  «        S |dk    s|t          k    rt          |¬¦  «        S |dk    s|t          k    rt          || d         ¬¦  «        S |dk    s|t          k    rt          || d         ¬¦  «        S |s|t          k    rt          ||¬¦  «        S  ||¬¦  «        S )Nr9   r:   r›   Úfunction_callÚnameÚ
tool_callsr3   ra   r4   )r:   Úadditional_kwargsr5   Úfunction)r:   rÈ   ÚtoolÚtool_call_id)r:   rÍ   )r:   r9   )
r   r?   ro   rn   r   r   r   r   r   r   )rÄ   rÅ   r9   r:   rÊ   rÇ   s         r(   rµ   rµ   �  sÀ  € õ •�U—Y’Y˜vÑ&Ô&Ñ'Ô'€DÝ•3˜Ÿ	š	 )Ñ,Ô,Ð2°Ñ3Ô3€GØ ÐØ‡y‚y�Ñ!Ô!ð ;Ý˜U ?Ô3Ñ4Ô4ˆØ�]Ð"Ð" }°VÔ'<Ð'DØ$&ˆM˜&Ñ!Ø-:Ð˜/Ñ*Ø‡y‚y�ÑÔð >Ø*/°Ô*=Ð˜,Ñ'àˆv‚~€~˜Õ*;Ò;Ð;Ý ¨Ð1Ñ1Ô1Ð1Ø	�Ò	Ð	 µÒ ?Ð ?Ý gÐARÐSÑSÔSÐSØ	�Ò	Ð	˜]Õ.@Ò@Ð@Ý!¨'Ð2Ñ2Ô2Ð2Ø	�Ò	Ð	˜}Õ0DÒDÐDÝ#¨G¸%À¼-ÐHÑHÔHÐHØ	�Šˆ˜=Õ,<Ò<Ð<Ý¨¸eÀNÔ>SÐTÑTÔTÐTØ	ð .�Õ"2Ò2Ð2Ý¨°dÐ;Ñ;Ô;Ð;àˆ} WÐ-Ñ-Ô-Ð-r*   )-rX   r{   Útypingr   r   r   r   r   r   r	   r
   r   Úlangchain_core.callbacksr   r   Ú*langchain_core.language_models.chat_modelsr   Úlangchain_core.messagesr   r   r   r   r   r   r   r   r   r   r   r   Úlangchain_core.outputsr   r   r   Ú)langchain_community.llms.azureml_endpointr   r   r    r"   r2   rx   r€   r…   r?   rµ   r0   r*   r(   ú<module>rÔ      sÚ  ðØ €€€Ø €€€ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ðð ð ð ð ð ð ð ð EÐ DÐ DÐ DÐ DÐ Dðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð SÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ Rðð ð ð ð ð ð ð ð ð ð
ð 
ð 
ð 
ð 
Ð0ñ 
ô 
ð 
ðvVð vVð vVð vVð vVÐ';ñ vVô vVð vVðr
ð 
ð 
ð 
ð 
Ð @ñ 
ô 
ð 
ð#+ð #+ð #+ð #+ð #+Ð";ñ #+ô #+ð #+ðLjð jð jð jð j Ð/Bñ jô jð jðZ.Ø�3˜�8Ôð.Ø-1Ð2BÔ-Cð.àð.ð .ð .ð .ð .ð .r*   