§
    šŠtj’  ã                   óº   — 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dS )ú$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dS )Ú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          úb/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/chat_models/fake.pyÚ	_generatez#FakeMessagesListChatModel._generate   si   € ð ”> $¤&Ô)ˆØŒ6•C˜œÑ'Ô'¨!Ñ+Ò+Ð+ØˆFŒF�a‰KˆFŒFˆFàˆDŒFÝ#¨HÐ5Ñ5Ô5ˆ
Ý z lÐ3Ñ3Ô3Ð3ó    c                 ó   — dS )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€J�Jð
 %)Ø:>ð	4ð 4à�{Ô#ð4ð �t˜C”yÔ!ð4ð Ð6Ô7ð	4ð
 ð4ð 
ð4ð 4ð 4ð 4ð ð/˜3ð /ð /ð /ñ „Xð/ð /ð /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dS )ÚFakeListChatModelr   r   Nr   r   r   r   c                 ó   — dS )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_        n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   sK   € ð ”> $¤&Ô)ˆØŒ6•C˜œÑ'Ô'¨!Ñ+Ò+Ð+ØˆFŒF�a‰KˆFŒFˆFàˆDŒFØˆr)   c              +   ó(  K  — | j         | j                 }| j        t          | j         ¦  «        dz
  k     r| xj        dz  c_        nd| _        |D ]B}| j        �t	          j        | j        ¦  «         t          t          |¬¦  «        ¬¦  «        V — ŒCd S ©Nr   r   )Úcontentr    )r   r   r#   r   Útimer   r   ©r$   r   r   r   r   r%   Úcs          r'   Ú_streamzFakeListChatModel._streamE   s¦   è è € ð ”> $¤&Ô)ˆØŒ6•C˜œÑ'Ô'¨!Ñ+Ò+Ð+ØˆFŒF�a‰KˆFŒFˆFàˆDŒFØð 	Ið 	IˆAØŒzÐ%Ý”
˜4œ:Ñ&Ô&Ð&Ý%­nÀQÐ.GÑ.GÔ.GÐHÑHÔHÐHÐHÐHÐHð	Ið 	Ir)   c                ó6  K  — | j         | j                 }| j        t          | j         ¦  «        dz
  k     r| xj        dz  c_        nd| _        |D ]I}| j        �t	          j        | j        ¦  «        ƒ d {V —† t          t          |¬¦  «        ¬¦  «        W V — ŒJd S r>   )r   r   r#   r   Úasyncior   r   rA   s          r'   Ú_astreamzFakeListChatModel._astreamV   s»   è è € ð ”> $¤&Ô)ˆØŒ6•C˜œÑ'Ô'¨!Ñ+Ò+Ð+ØˆFŒF�a‰KˆFŒFˆFàˆDŒFØð 	Ið 	IˆAØŒzÐ%Ý”m D¤JÑ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ý%­nÀQÐ.GÑ.GÔ.GÐHÑHÔHÐHÐHÐHÐHÐHð	Ið 	Ir)   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   +   sû  € € € € € € Ø.Ð.à€O€O�OØ!€Eˆ8�EŒ?Ð!Ð!Ñ!Ø€A€s€J€J�Jàð&˜3ð &ð &ð &ñ „Xð&ð %)Ø:>ð	ð à�{Ô#ðð �t˜C”yÔ!ðð Ð6Ô7ð	ð
 ðð 
ðð ð ð ð$ (,Ø=Að	Ið Ià�{Ô#ðIð �D˜”I˜t�OÔ$ðIð Ð3°TÐ9Ô:ð	Ið
 ðIð 
Ð%Ô	&ðIð Ið Ið Ið( (,ØBFð	Ið Ià�{Ô#ðIð �D˜”I˜t�OÔ$ðIð Ð8¸$Ð>Ô?ð	Ið
 ðIð 
Ð*Ô	+ðIð Ið Ið Ið" ð- T¨#¨s¨(¤^ð -ð -ð -ñ „Xð-ð -ð -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      s*  ðØ *Ð *à €€€Ø €€€Ø LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ Lðð ð ð ð ð ð ð ð VÐ UÐ UÐ UÐ UÐ UÐ UÐ UØ ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ Rð/ð /ð /ð /ð / ñ /ô /ð /ð6>-ð >-ð >-ð >-ð >-˜ñ >-ô >-ð >-ð >-ð >-r)   