Ë
    µŒj’  ã                   ó¬   — d Z 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
 ddlmZmZ ddlmZmZ ddlmZmZ ddlmZmZmZ  G d„ d	e«      Z G d
„ de«      Zy)ú$Fake ChatModel for testing purposes.é    N)ÚAnyÚAsyncIteratorÚDictÚIteratorÚListÚOptionalÚUnion)ÚAsyncCallbackManagerForLLMRunÚCallbackManagerForLLMRun)ÚBaseChatModelÚSimpleChatModel)ÚAIMessageChunkÚBaseMessage)ÚChatGenerationÚChatGenerationChunkÚ
ChatResultc                   ó”   — e Zd ZU dZee   ed<   dZee	   ed<   dZ
eed<   	 	 ddee   deee      d	ee   d
edef
d„Zedefd„«       Zy)ÚFakeMessagesListChatModelr   Ú	responsesNÚsleepr   ÚiÚmessagesÚstopÚrun_managerÚkwargsÚreturnc                 óê   — | j                   | j                     }| j                  t        | j                   «      dz
  k  r| xj                  dz  c_        nd| _        t        |¬«      }t	        |g¬«      S )Né   r   ©Úmessage)Úgenerations)r   r   Úlenr   r   )Úselfr   r   r   r   ÚresponseÚ
generations          ún/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/chat_models/fake.pyÚ	_generatez#FakeMessagesListChatModel._generate   s[   € ð —>‘> $§&¡&Ñ)ˆØ�6‰6”C˜Ÿ™Ó'¨!Ñ+Ò+Ø�FŠF�a‰KŽFàˆDŒFÜ#¨HÔ5ˆ
Ü z lÔ3Ð3ó    c                  ó   — y)Nzfake-messages-list-chat-model© ©r$   s    r'   Ú	_llm_typez#FakeMessagesListChatModel._llm_type&   s   € à.r)   ©NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Ú__annotations__r   r	   Úfloatr   ÚintÚstrr   r   r   r(   Úpropertyr-   r+   r)   r'   r   r      s“   … Ù.à�KÑ Ó Ø!€Eˆ8�E‰?Ó!Ø€A€sƒJð
 %)Ø:>ñ	4à�{Ñ#ð4ð �t˜C‘yÑ!ð4ð Ð6Ñ7ð	4ð
 ð4ð 
ó4ð ð/˜3ò /ó ñ/r)   r   c                   ó>  — e Zd ZU dZeed<   dZee   ed<   dZ	e
ed<   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f   deedf   dedee   f
d„Z	 	 dd	ee   d
eee   df   deedf   dedee   f
d„Zedeeef   fd„«       Zy)ÚFakeListChatModelr   r   Nr   r   r   r   c                  ó   — y)Nzfake-list-chat-modelr+   r,   s    r'   r-   zFakeListChatModel._llm_type2   s   € à%r)   r   r   r   r   c                 ó¾   — | j                   | j                     }| j                  t        | j                   «      dz
  k  r| xj                  dz  c_        |S d| _        |S )z;First try to lookup in queries, else return 'foo' or 'bar'.r   r   )r   r   r#   )r$   r   r   r   r   r%   s         r'   Ú_callzFakeListChatModel._call6   sR   € ð —>‘> $§&¡&Ñ)ˆØ�6‰6”C˜Ÿ™Ó'¨!Ñ+Ò+Ø�FŠF�a‰K�Fð ˆð ˆDŒFØˆr)   c              +   óV  K  — | j                   | j                     }| j                  t        | j                   «      dz
  k  r| xj                  dz  c_        nd| _        |D ]E  }| j                  �t	        j                  | j                  «       t        t        |¬«      ¬«      –— ŒG y ­w©Nr   r   )Úcontentr    )r   r   r#   r   Útimer   r   ©r$   r   r   r   r   r%   Úcs          r'   Ú_streamzFakeListChatModel._streamE   s|   è ø€ ð —>‘> $§&¡&Ñ)ˆØ�6‰6”C˜Ÿ™Ó'¨!Ñ+Ò+Ø�FŠF�a‰KŽFàˆDŒFÛˆAØ�z‰zÐ%Ü—
‘
˜4Ÿ:™:Ô&Ü%¬nÀQÔ.GÔHÓHñ ùs   ‚B'B)c                ól  K  — | j                   | j                     }| j                  t        | j                   «      dz
  k  r| xj                  dz  c_        nd| _        |D ]N  }| j                  �'t	        j                  | j                  «      ƒ d {  –—†  t        t        |¬«      ¬«      ­–— ŒP y 7 Œ ­wr>   )r   r   r#   r   Úasyncior   r   rA   s          r'   Ú_astreamzFakeListChatModel._astreamV   s…   è ø€ ð —>‘> $§&¡&Ñ)ˆØ�6‰6”C˜Ÿ™Ó'¨!Ñ+Ò+Ø�FŠF�a‰KŽFàˆDŒFÛˆAØ�z‰zÐ%Ü—m‘m D§J¡JÓ/×/Ð/Ü%¬nÀQÔ.GÔHÔHñ à/ús   ‚BB4ÂB2Â!B4c                 ó   — d| j                   iS )Nr   )r   r,   s    r'   Ú_identifying_paramsz%FakeListChatModel._identifying_paramsg   s   € à˜TŸ^™^Ð,Ð,r)   r.   )r/   r0   r1   r2   r   r3   r   r	   r4   r   r5   r7   r6   r-   r   r   r   r<   r
   r   r   rC   r   r   rF   r   rH   r+   r)   r'   r9   r9   +   sz  … Ù.àƒOØ!€Eˆ8�E‰?Ó!Ø€A€sƒJàð&˜3ò &ó ð&ð %)Ø:>ñ	à�{Ñ#ðð �t˜C‘yÑ!ðð Ð6Ñ7ð	ð
 ðð 
óð$ (,Ø=Añ	Ià�{Ñ#ðIð �D˜‘I˜t�OÑ$ðIð Ð3°TÐ9Ñ:ð	Ið
 ðIð 
Ð%Ñ	&óIð( (,ØBFñ	Ià�{Ñ#ðIð �D˜‘I˜t�OÑ$ðIð Ð8¸$Ð>Ñ?ð	Ið
 ðIð 
Ð*Ñ	+óIð" ð- T¨#¨s¨(¡^ò -ó ñ-r)   r9   )r2   rE   r@   Útypingr   r   r   r   r   r	   r
   Úlangchain_core.callbacksr   r   Ú*langchain_core.language_models.chat_modelsr   r   Úlangchain_core.messagesr   r   Úlangchain_core.outputsr   r   r   r   r9   r+   r)   r'   Ú<module>rN      sC   ðÙ *ã Û ß L× LÑ L÷÷ Vß ?ß RÑ Rô/ ô /ô6>-˜õ >-r)   