Ë
    µŒj  ã                   óŠ   — 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y	)
é    )Ú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,y)&Ú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                 óŽ   — | 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    úi/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/llms/writer.pyÚ_default_paramszWriter._default_paramsF   sC   € ð Ÿ/™/Ø×+Ñ+Ø—Z‘ZØ—I‘IØ—|‘|ñ
ð ×Ñð
ð 	
ó    c                 ó6   — 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                  ó   — y)zReturn type of llm.Úwriter© r'   s    r)   Ú	_llm_typezWriter._llm_typeZ   s   € ð r+   Úbefore)ÚmodeÚvaluesc           
      ó°  — 	 ddl m}m} |j	                  d«      s%|j                  d |t        |dd«      ¬«      i«       |j	                  d	«      s%|j                  d	 |t        |dd«      ¬«      i«       t        |j	                  d«      «      |u rt        |j	                  d	«      «      |u st        d
«      ‚|S # t        $ r}t        d«      |‚d}~ww xY w)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_   sï   € ð	ß4ð �z‰z˜(Ô#Ø�M‰Mà™fÜ 4Ø" IÐ/?ó!ôðôð �z‰z˜.Ô)Ø�M‰Mà"¡KÜ 4Ø" IÐ/?ó!ô%ðôô �—‘˜HÓ%Ó&¨&Ñ0Ü�V—Z‘Z Ó/Ó0°KÑ?äðYóð ð
 ˆøôK ò 	ÜðAóð ðûð	ús   ‚B; Â;	CÃCÃCÚpromptÚrun_managerÚkwargsc                 óÎ   — i | j                   ¥|¥}|�|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Œ   si   € ð 8�D×,Ñ,Ð7°Ð7ˆØÐØ�M‰M˜6 4˜.Ô)Ø-ˆt�{‰{×&Ñ&×-Ñ-ÑF°VÐF¸vÑF×NÑNÈqÑQ×VÑVˆØˆr+   c              ‹   óî   K  — i | j                   ¥|¥}|�|j                  d|i«        | j                  j                  j                  dd|i|¤Žƒ d {  –—† }|j
                  d   j                  }|S 7 Œ­w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Ñ6×=Ñ=ÑVÀVÐVÈvÑV×VˆØ×Ñ Ñ"×'Ñ'ˆØˆð Wús   ‚AA5ÁA3Á A5c              +   ó&  K  — i | j                   ¥|¥ddi¥}|�|j                  d|i«        | j                  j                  j                  dd|i|¤Ž}|D ]7  }|r|j                  |j                  «       t        |j                  ¬«      –— Œ9 y ­w©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ˆØÐØ�M‰M˜6 4˜.Ô)Ø1�4—;‘;×*Ñ*×1Ñ1ÑJ¸ÐJÀ6ÑJˆÛˆEÙØ×,Ñ,¨U¯[©[Ô9Ü! u§{¡{Ô3Ó3ñ ùs   ‚BBc                ó`  K  — i | j                   ¥|¥ddi¥}|�|j                  d|i«        | j                  j                  j                  dd|i|¤Žƒ d {  –—† }|2 3 d {  –—† }|r#|j                  |j                  «      ƒ d {  –—†  t        |j                  ¬«      ­–— ŒH7 ŒN7 ŒE7 Œ"6 y ­wrQ   )r-   r<   r   rG   rH   rS   rT   r   rU   s           r)   Ú_astreamzWriter._astream·   s®   è ø€ ð H�D×,Ñ,ÐG°ÐG¸À$ÑGˆØÐØ�M‰M˜6 4˜.Ô)Ø=˜×*Ñ*×6Ñ6×=Ñ=ÑVÀVÐVÈvÑV×VˆÙ#÷ 	4�%ÙØ!×2Ñ2°5·;±;Ó?×?Ð?Ü! u§{¡{Ô3Ô3ð	 Wøð	4øà?øñ $ùsH   ‚AB.ÁB&ÁB.ÁB,Á"B(Á#B,Á&!B.ÂB*ÂB.Â(B,Â*B.Â,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€FˆCÓ3Ù d°DÔ9€L�#Ó9á#(°Ô#6€GˆX�iÑ Ó6ØáÐ$<ÀGÔL€J�ÓLØà $€J�˜‘Ó$ØSà#&€K�˜%‘Ó&ðMð "€Eˆ8�E‰?Ó!ð:ð !%€Dˆ(�4˜‘9Ñ
Ó$ð2ð "€GˆX�c‰]Ó!ðñ $)¸Ô#>€L�$�s˜C�x‘.Ó>ØVá¨tÔ4€Làð	
 ¨¨c¨Ñ!2ò 	
ó ð	
ð ð
 W¨S°#¨XÑ%6ò 
ó ð
ð ð˜3ò ó ðñ ˜(Ô#Øð)¨$ð )°3ò )ó ó $ð)ð\ %)Ø:>ñ	àðð �t˜C‘yÑ!ðð Ð6Ñ7ð	ð
 ðð 
óð  %)Ø?Cñ	àðð �t˜C‘yÑ!ðð Ð;Ñ<ð	ð
 ðð 
óð" %)Ø:>ñ	4àð4ð �t˜C‘yÑ!ð4ð Ð6Ñ7ð	4ð
 ð4ð 
�/Ñ	"ó4ð& %)Ø?Cñ	4àð4ð �t˜C‘yÑ!ð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      s2   ðß N× NÑ N÷õ 4Ý 2Ý 5ß BÓ Bôx4ˆSõ x4r+   