§
    šŠtjÝ  ã                   ó’   — d dl 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 d dlmZ d dlmZmZmZmZ  G d„ de¦  «        Zd	S )
é    )ÚAnyÚAsyncIteratorÚDictÚIteratorÚListÚMappingÚOptional)ÚAsyncCallbackManagerForLLMRunÚCallbackManagerForLLMRun)ÚLLM)ÚGenerationChunk)Úget_from_dict_or_env)Ú
ConfigDictÚFieldÚ	SecretStrÚmodel_validatorc                   ó~  — e Zd ZU dZ edd¬¦  «        Zeed<    edd¬¦  «        Zeed<    ed¬¦  «        Z	e
e         ed<   	  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                  ed<   	 dZe
e         ed<   	  ee¬¦  «        Zeeef         ed<   	  ed¬¦  «        Zedeeef         fd„¦   «         Zedeeef         fd„¦   «         Zedefd„¦   «         Z e d¬¦  «        e!dedefd„¦   «         ¦   «         Z"	 	 d%dede
ee                  de
e#         d edef
d!„Z$	 	 d%dede
e%e                  de
e&         d edef
d"„Z'	 	 d%dede
e%e                  de
e#         d ede(e)         f
d#„Z*	 	 d%dede
e%e                  de
e&         d ede+e)         f
d$„Z,dS )&ÚWritera  Writer large language models.

    To use, you should have the ``writer-sdk`` Python package installed, and the
    environment variable ``WRITER_API_KEY`` set with your API key.

    Example:
        .. code-block:: python

            from langchain_community.llms import Writer as WriterLLM
            from writerai import Writer, AsyncWriter

            client = Writer()
            async_client = AsyncWriter()

            chat = WriterLLM(
                client=client,
                async_client=async_client
            )
    NT)ÚdefaultÚexcludeÚclientÚasync_client)r   Úapi_keyzpalmyra-x-003-instructÚmodel)r   ÚaliasÚ
model_nameÚ
max_tokensgffffffæ?ÚtemperatureÚtop_pÚstopÚbest_of)Údefault_factoryÚmodel_kwargs)Úpopulate_by_nameÚreturnc                 óR   — | j         | j        | j        | j        | j        dœ| j        ¥S )z2Get the default parameters for calling Writer API.)r   r   r   r    r!   )r   r   r   r    r!   r#   ©Úselfs    ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/llms/writer.pyÚ_default_paramszWriter._default_paramsF   s:   € ð œ/ØÔ+Ø”ZØ”IØ”|ð
ð 
ð Ôð
ð 	
ó    c                 ó"   — d| j         i| j        ¥S )zGet the identifying parameters.r   )r   r*   r'   s    r)   Ú_identifying_paramszWriter._identifying_paramsR   s    € ð �T”_ð
àÔ"ð
ð 	
r+   c                 ó   — dS )zReturn type of llm.Úwriter© r'   s    r)   Ú	_llm_typezWriter._llm_typeZ   s	   € ð ˆxr+   Úbefore)ÚmodeÚvaluesc           
      ó   — 	 ddl m}m} n"# t          $ r}t          d¦  «        |‚d}~ww xY w|                     d¦  «        s0|                     d |t          |dd¦  «        ¬¦  «        i¦  «         |                     d	¦  «        s0|                     d	 |t          |dd¦  «        ¬¦  «        i¦  «         t          |                     d¦  «        ¦  «        |u r$t          |                     d	¦  «        ¦  «        |u st          d
¦  «        ‚|S )z<Validates that api key is passed and creates Writer clients.r   )ÚAsyncClientÚClientzXCould not import writerai python package. Please install it with `pip install writerai`.Nr   r   ÚWRITER_API_KEY)r   r   zx'client' attribute must be with type 'Client' and 'async_client' must be with type 'AsyncClient' from 'writerai' package)	Úwriterair6   r7   ÚImportErrorÚgetÚupdater   ÚtypeÚ
ValueError)Úclsr4   r6   r7   Úes        r)   Úvalidate_environmentzWriter.validate_environment_   su  € ð	Ø4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4øÝð 	ð 	ð 	ÝðAñô ð ðøøøøð	øøøð �zŠz˜(Ñ#Ô#ð 		Ø�MŠMà˜f˜fÝ 4Ø" IÐ/?ñ!ô !ðñ ô ðñô ð ð �zŠz˜.Ñ)Ô)ð 		Ø�MŠMà" K KÝ 4Ø" IÐ/?ñ!ô !ð%ñ %ô %ðñô ð õ �—’˜HÑ%Ô%Ñ&Ô&¨&Ð0Ð0Ý�V—Z’Z Ñ/Ô/Ñ0Ô0°KÐ?Ð?åðYñô ð ð
 ˆs   ‚ ‹
*•%¥*ÚpromptÚrun_managerÚkwargsc                 ó    — i | j         ¥|¥}|�|                     d|i¦  «          | j        j        j        dd|i|¤Žj        d         j        }|S ©Nr    rB   r   r0   )r-   r<   r   ÚcompletionsÚcreateÚchoicesÚtext)r(   rB   r    rC   rD   ÚparamsrJ   s          r)   Ú_callzWriter._callŒ   sd   € ð 8�DÔ,Ð7°Ð7ˆØÐØ�MŠM˜6 4˜.Ñ)Ô)Ð)Ø-ˆtŒ{Ô&Ô-ÐFÐF°VÐF¸vÐFÐFÔNÈqÔQÔVˆØˆr+   c              ‹   ó´   K  — i | j         ¥|¥}|�|                     d|i¦  «          | j        j        j        dd|i|¤Žƒ d {V —†}|j        d         j        }|S rF   )r-   r<   r   rG   rH   rI   rJ   )r(   rB   r    rC   rD   rK   ÚresponserJ   s           r)   Ú_acallzWriter._acall™   s€   è è € ð 8�DÔ,Ð7°Ð7ˆØÐØ�MŠM˜6 4˜.Ñ)Ô)Ð)Ø=˜Ô*Ô6Ô=ÐVÐVÀVÐVÈvÐVÐVÐVÐVÐVÐVÐVÐVˆØÔ Ô"Ô'ˆØˆr+   c              +   óü   K  — i | j         ¥|¥ddi¥}|�|                     d|i¦  «          | j        j        j        dd|i|¤Ž}|D ]5}|r|                     |j        ¦  «         t          |j        ¬¦  «        V — Œ6d S ©NÚstreamTr    rB   )rJ   r0   )r-   r<   r   rG   rH   Úon_llm_new_tokenÚvaluer   ©r(   rB   r    rC   rD   rK   rN   Úchunks           r)   Ú_streamzWriter._stream§   s¶   è è € ð H�DÔ,ÐG°ÐG¸À$ÐGÐGˆØÐØ�MŠM˜6 4˜.Ñ)Ô)Ð)Ø1�4”;Ô*Ô1ÐJÐJ¸ÐJÀ6ÐJÐJˆØð 	4ð 	4ˆEØð :Ø×,Ò,¨U¬[Ñ9Ô9Ð9Ý! u¤{Ð3Ñ3Ô3Ð3Ð3Ð3Ð3ð	4ð 	4r+   c                ó"  K  — i | j         ¥|¥ddi¥}|�|                     d|i¦  «          | j        j        j        dd|i|¤Žƒ d {V —†}|2 3 d {V —†}|r |                     |j        ¦  «        ƒ d {V —† t          |j        ¬¦  «        W V — ŒB6 d S rQ   )r-   r<   r   rG   rH   rS   rT   r   rU   s           r)   Ú_astreamzWriter._astream·   s÷   è è € ð H�DÔ,ÐG°ÐG¸À$ÐGÐGˆØÐØ�MŠM˜6 4˜.Ñ)Ô)Ð)Ø=˜Ô*Ô6Ô=ÐVÐVÀVÐVÈvÐVÐVÐVÐVÐVÐVÐVÐVˆØ#ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4�%Øð @Ø!×2Ò2°5´;Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ý! u¤{Ð3Ñ3Ô3Ð3Ð3Ð3Ð3Ð3ð $˜8˜8s   ÁB)NN)-Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   Ú__annotations__r   r   r	   r   r   Ústrr   Úintr   Úfloatr   r    r   r!   Údictr#   r   r   Úmodel_configÚpropertyr   r*   r-   r1   r   ÚclassmethodrA   r   rL   Úlistr
   rO   r   r   rW   r   rY   r0   r+   r)   r   r      sÁ  € € € € € € ðð ð( �% ¨dÐ3Ñ3Ô3€FˆCÐ3Ð3Ñ3Ø˜ d°DÐ9Ñ9Ô9€L�#Ð9Ð9Ñ9à#( 5°Ð#6Ñ#6Ô#6€GˆX�iÔ Ð6Ð6Ñ6Øà�eÐ$<ÀGÐLÑLÔL€J�ÐLÐLÑLØà $€J�˜”Ð$Ð$Ñ$ØSà#&€K�˜%”Ð&Ð&Ñ&ðMð "€Eˆ8�EŒ?Ð!Ð!Ñ!ð:ð !%€Dˆ(�4˜”9Ô
Ð$Ð$Ñ$ð2ð "€GˆX�cŒ]Ð!Ð!Ñ!ðð $) 5¸Ð#>Ñ#>Ô#>€L�$�s˜C�x”.Ð>Ð>Ñ>ØVà�:¨tÐ4Ñ4Ô4€Làð	
 ¨¨c¨Ô!2ð 	
ð 	
ð 	
ñ „Xð	
ð ð
 W¨S°#¨XÔ%6ð 
ð 
ð 
ñ „Xð
ð ð˜3ð ð ð ñ „Xðð €_˜(Ð#Ñ#Ô#Øð)¨$ð )°3ð )ð )ð )ñ „[ñ $Ô#ð)ð\ %)Ø:>ð	ð àðð �t˜C”yÔ!ðð Ð6Ô7ð	ð
 ðð 
ðð ð ð ð  %)Ø?Cð	ð àðð �t˜C”yÔ!ðð Ð;Ô<ð	ð
 ðð 
ðð ð ð ð" %)Ø:>ð	4ð 4àð4ð �t˜C”yÔ!ð4ð Ð6Ô7ð	4ð
 ð4ð 
�/Ô	"ð4ð 4ð 4ð 4ð& %)Ø?Cð	4ð 4àð4ð �t˜C”yÔ!ð4ð Ð;Ô<ð	4ð
 ð4ð 
�Ô	'ð4ð 4ð 4ð 4ð 4ð 4r+   r   N)Útypingr   r   r   r   r   r   r	   Úlangchain_core.callbacksr
   r   Ú#langchain_core.language_models.llmsr   Úlangchain_core.outputsr   Úlangchain_core.utilsr   Úpydanticr   r   r   r   r   r0   r+   r)   ú<module>rm      sý   ðØ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ Nðð ð ð ð ð ð ð ð 4Ð 3Ð 3Ð 3Ð 3Ð 3Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ Bðx4ð x4ð x4ð x4ð x4ˆSñ x4ô x4ð x4ð x4ð x4r+   