§
    ™Štji  ã                   óö   — d dl mZ d dl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 d dlmZ  ed	d
dd¬¦  «         G d„ de¦  «        ¦   «         Z ed	d
dd¬¦  «         G d„ de¦  «        ¦   «         ZdS )é    )ÚAny)Ú
deprecated)ÚBaseMessageÚget_buffer_string)Úpre_init)Úoverride)Ú
BaseMemory)ÚBaseChatMemory)Úget_prompt_input_keyz0.3.1z2.0.0zlangchain.agents.create_agentzùFor agents that need to remember prior interactions, use `create_agent` with checkpointing or the `Store` API. See https://docs.langchain.com/oss/python/langchain/short-term-memory and https://docs.langchain.com/oss/python/langchain/long-term-memory)ÚsinceÚremovalÚalternativeÚaddendumc                   ó’  — e Zd ZU dZdZeed<   dZeed<   dZeed<   e	de
fd	„¦   «         Zde
fd
„Zdee         defd„Ze	defd„¦   «         Zdefd„Ze	dee         fd„¦   «         Zdee         fd„Ze	dee         fd„¦   «         Zedeee
f         deee
f         fd„¦   «         Zedeee
f         deee
f         fd„¦   «         ZdS )ÚConversationBufferMemoryaS  A basic memory implementation that simply stores the conversation history.

    This stores the entire conversation history in memory without any
    additional processing.

    Note that additional processing may be required in some situations when the
    conversation history is too large to fit in the context window of the model.
    ÚHumanÚhuman_prefixÚAIÚ	ai_prefixÚhistoryÚ
memory_keyÚreturnc                 ó,   — | j         r| j        n| j        S )úString buffer of memory.)Úreturn_messagesÚbuffer_as_messagesÚbuffer_as_str©Úselfs    ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_classic/memory/buffer.pyÚbufferzConversationBufferMemory.buffer&   s   € ð +/Ô*>ÐVˆtÔ&Ð&ÀDÔDVÐVó    c              ƒ   ó|   K  — | j         r|                      ¦   «         ƒ d{V —†n|                      ¦   «         ƒ d{V —†S )r   N)r   Úabuffer_as_messagesÚabuffer_as_strr   s    r    Úabufferz ConversationBufferMemory.abuffer+   s\   è è € ð Ô#ð-�$×*Ò*Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,à×*Ò*Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,ð	
r"   Úmessagesc                 ó:   — t          || j        | j        ¬¦  «        S )N)r   r   )r   r   r   ©r   r'   s     r    Ú_buffer_as_strz'ConversationBufferMemory._buffer_as_str3   s'   € Ý ØØÔ*Ø”nð
ñ 
ô 
ð 	
r"   c                 ó@   — |                       | j        j        ¦  «        S )ú?Exposes the buffer as a string in case return_messages is True.)r*   Úchat_memoryr'   r   s    r    r   z&ConversationBufferMemory.buffer_as_str:   s   € ð ×"Ò" 4Ô#3Ô#<Ñ=Ô=Ð=r"   c              ƒ   ón   K  — | j                              ¦   «         ƒ d{V —†}|                      |¦  «        S )r,   N)r-   Úaget_messagesr*   r)   s     r    r%   z'ConversationBufferMemory.abuffer_as_str?   s@   è è € àÔ)×7Ò7Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9ˆØ×"Ò" 8Ñ,Ô,Ð,r"   c                 ó   — | j         j        S )úJExposes the buffer as a list of messages in case return_messages is False.)r-   r'   r   s    r    r   z+ConversationBufferMemory.buffer_as_messagesD   s   € ð ÔÔ(Ð(r"   c              ƒ   óD   K  — | j                              ¦   «         ƒ d{V —†S )r1   N)r-   r/   r   s    r    r$   z,ConversationBufferMemory.abuffer_as_messagesI   s-   è è € àÔ%×3Ò3Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5r"   c                 ó   — | j         gS ©z,Will always return list of memory variables.©r   r   s    r    Úmemory_variablesz)ConversationBufferMemory.memory_variablesM   ó   € ð ”Ð Ð r"   Úinputsc                 ó   — | j         | j        iS ©zReturn history buffer.©r   r!   ©r   r8   s     r    Úload_memory_variablesz.ConversationBufferMemory.load_memory_variablesR   ó   € ð ” ¤Ð-Ð-r"   c              ƒ   óL   K  — |                       ¦   «         ƒ d{V —†}| j        |iS )z9Return key-value pairs given the text input to the chain.N)r&   r   )r   r8   r!   s      r    Úaload_memory_variablesz/ConversationBufferMemory.aload_memory_variablesW   s4   è è € ð —|’|‘~”~Ð%Ð%Ð%Ð%Ð%Ð%ˆØ” Ð(Ð(r"   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚstrÚ__annotations__r   r   Úpropertyr   r!   r&   Úlistr   r*   r   r%   r   r$   r6   r   Údictr=   r@   © r"   r    r   r      sô  € € € € € € ðð ð  €L�#ÐÐÑØ€IˆsÐÐÑØ€J�ÐÐÑàðW˜ð Wð Wð Wñ „XðWð
˜sð 
ð 
ð 
ð 
ð
 t¨KÔ'8ð 
¸Sð 
ð 
ð 
ð 
ð ð>˜sð >ð >ð >ñ „Xð>ð- cð -ð -ð -ð -ð
 ð) D¨Ô$5ð )ð )ð )ñ „Xð)ð6¨4°Ô+<ð 6ð 6ð 6ð 6ð ð! $ s¤)ð !ð !ð !ñ „Xð!ð ð.¨D°°c°¬Nð .¸tÀCÈÀH¼~ð .ð .ð .ñ „Xð.ð ð)°4¸¸S¸´>ð )ÀdÈ3ÐPSÈ8Änð )ð )ð )ñ „Xð)ð )ð )r"   r   c                   ó¶  — e Zd ZU dZdZeed<   dZeed<   	 dZeed<   dZ	edz  ed	<   dZ
edz  ed
<   dZeed<   ededefd„¦   «         Zedee         fd„¦   «         Zedeeef         deeef         fd„¦   «         Zdeeef         deeef         fd„Zdeeef         deeef         ddfd„Zdeeef         deeef         ddfd„Zdd„Zedd„¦   «         ZdS )ÚConversationStringBufferMemoryaÚ  A basic memory implementation that simply stores the conversation history.

    This stores the entire conversation history in memory without any
    additional processing.

    Equivalent to ConversationBufferMemory but tailored more specifically
    for string-based conversations rather than chat models.

    Note that additional processing may be required in some situations when the
    conversation history is too large to fit in the context window of the model.
    r   r   r   r   Ú r!   NÚ
output_keyÚ	input_keyr   r   Úvaluesr   c                 óT   — |                      dd¦  «        rd}t          |¦  «        ‚|S )z*Validate that return messages is not True.r   Fz@return_messages must be False for ConversationStringBufferMemory)ÚgetÚ
ValueError)ÚclsrP   Úmsgs      r    Úvalidate_chainsz.ConversationStringBufferMemory.validate_chains~   s1   € ð �:Š:Ð'¨Ñ/Ô/ð 	"ØTˆCÝ˜S‘/”/Ð!Øˆr"   c                 ó   — | j         gS r4   r5   r   s    r    r6   z/ConversationStringBufferMemory.memory_variables†   r7   r"   r8   c                 ó   — | j         | j        iS r:   r;   r<   s     r    r=   z4ConversationStringBufferMemory.load_memory_variables‹   r>   r"   c              ƒ   ó0   K  — |                       |¦  «        S r:   )r=   r<   s     r    r@   z5ConversationStringBufferMemory.aload_memory_variables�   s   è è € à×)Ò)¨&Ñ1Ô1Ð1r"   Úoutputsc                 ó²  — | j         €t          || j        ¦  «        }n| j         }| j        €ht	          |¦  «        dk    r&d|                     ¦   «         › �}t          |¦  «        ‚t          t          |                     ¦   «         ¦  «        ¦  «        }n| j        }| j	        › d�||         z   }| j
        › d�||         z   }| xj        d|› d|› �z  c_        dS )ú.Save context from this conversation to buffer.Né   zOne output key expected, got z: ú
)rO   r   r6   rN   ÚlenÚkeysrS   ÚnextÚiterr   r   r!   )r   r8   rZ   Úprompt_input_keyrU   rN   ÚhumanÚais           r    Úsave_contextz+ConversationStringBufferMemory.save_context”   sã   € àŒ>Ð!Ý3°F¸DÔ<QÑRÔRÐÐà#œ~ÐØŒ?Ð"Ý�7‰|Œ|˜qÒ Ð ØF°g·l²l±n´nÐFÐF�Ý  ‘o”oÐ%Ý�d 7§<¢<¡>¤>Ñ2Ô2Ñ3Ô3ˆJˆJàœˆJØÔ$Ð(Ð(Ð(¨6Ð2BÔ+CÑCˆØ”Ð"Ð"Ð" W¨ZÔ%8Ñ8ˆØˆŒÐ)˜EÐ)Ð) RÐ)Ð)Ñ)ˆŒˆˆr"   c              ƒ   ó2   K  — |                       ||¦  «        S )r\   )rf   )r   r8   rZ   s      r    Úasave_contextz,ConversationStringBufferMemory.asave_context¥   s   è è € ð × Ò  ¨Ñ1Ô1Ð1r"   c                 ó   — d| _         dS )zClear memory contents.rM   N)r!   r   s    r    Úclearz$ConversationStringBufferMemory.clear­   s   € àˆŒˆˆr"   c              ƒ   ó2   K  — |                       ¦   «          d S )N)rj   r   s    r    Úaclearz%ConversationStringBufferMemory.aclear±   s   è è € à�
Š
‰Œˆˆˆr"   )r   N)rA   rB   rC   rD   r   rE   rF   r   r!   rN   rO   r   r   rI   rV   rG   rH   r6   r   r   r=   r@   rf   rh   rj   rl   rJ   r"   r    rL   rL   ^   s  € € € € € € ð
ð 
ð  €L�#ÐÐÑØ€IˆsÐÐÑØ3Ø€FˆCÐÐÑØ!€J��d‘
Ð!Ð!Ñ!Ø €Iˆs�T‰zÐ Ð Ñ Ø€J�ÐÐÑàð Tð ¨dð ð ð ñ „Xðð ð! $ s¤)ð !ð !ð !ñ „Xð!ð ð.¨D°°c°¬Nð .¸tÀCÈÀH¼~ð .ð .ð .ñ „Xð.ð2°4¸¸S¸´>ð 2ÀdÈ3ÐPSÈ8Änð 2ð 2ð 2ð 2ð* 4¨¨S¨¤>ð *¸DÀÀcÀ¼Nð *Ètð *ð *ð *ð *ð"2à�S˜#�X”ð2ð �c˜3�h”ð2ð 
ð	2ð 2ð 2ð 2ðð ð ð ð ðð ð ñ „Xðð ð r"   rL   N)Útypingr   Úlangchain_core._apir   Úlangchain_core.messagesr   r   Úlangchain_core.utilsr   Útyping_extensionsr   Úlangchain_classic.base_memoryr	   Ú$langchain_classic.memory.chat_memoryr
   Úlangchain_classic.memory.utilsr   r   rL   rJ   r"   r    ú<module>ru      sj  ðØ Ð Ð Ð Ð Ð à *Ð *Ð *Ð *Ð *Ð *Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ )Ð )Ð )Ð )Ð )Ð )Ø &Ð &Ð &Ð &Ð &Ð &à 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?ð €Ø
ØØ/ð	Kð
ñ 
ô 
ðC)ð C)ð C)ð C)ð C)˜~ñ C)ô C)ñ
ô 
ðC)ðL €Ø
ØØ/ð	Kð
ñ 
ô 
ðJð Jð Jð Jð J Zñ Jô Jñ
ô 
ðJð Jð Jr"   