§
    ™Štjî
  ã                   ó˜   — d dl mZ 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  eddd	d
¬¦  «         G d„ de¦  «        ¦   «         ZdS )é    )ÚAny)Ú
deprecated)ÚBaseLanguageModel)ÚBaseMessageÚget_buffer_string)Úoverride)ÚBaseChatMemoryz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<   eed<   dZ	eed<   d	Z
eed
<   edefd„¦   «         Zedefd„¦   «         Ze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deeef         deeef         ddfˆ fd„Zˆ xZS )ÚConversationTokenBufferMemoryzÚConversation chat memory with token limit.

    Keeps only the most recent messages in the conversation under the constraint
    that the total number of tokens in the conversation does not exceed a certain limit.
    ÚHumanÚhuman_prefixÚAIÚ	ai_prefixÚllmÚhistoryÚ
memory_keyiÐ  Úmax_token_limitÚreturnc                 ó,   — | j         r| j        n| j        S )zString buffer of memory.)Úreturn_messagesÚbuffer_as_messagesÚbuffer_as_str©Úselfs    úc/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_classic/memory/token_buffer.pyÚbufferz$ConversationTokenBufferMemory.buffer#   s   € ð +/Ô*>ÐVˆtÔ&Ð&ÀDÔDVÐVó    c                 óN   — t          | j        j        | j        | j        ¬¦  «        S )z@Exposes the buffer as a string in case return_messages is False.)r   r   )r   Úchat_memoryÚmessagesr   r   r   s    r   r   z+ConversationTokenBufferMemory.buffer_as_str(   s/   € õ !ØÔÔ%ØÔ*Ø”nð
ñ 
ô 
ð 	
r!   c                 ó   — | j         j        S )zIExposes the buffer as a list of messages in case return_messages is True.)r#   r$   r   s    r   r   z0ConversationTokenBufferMemory.buffer_as_messages1   s   € ð ÔÔ(Ð(r!   c                 ó   — | j         gS )z,Will always return list of memory variables.)r   r   s    r   Úmemory_variablesz.ConversationTokenBufferMemory.memory_variables6   s   € ð ”Ð Ð r!   Úinputsc                 ó   — | j         | j        iS )zReturn history buffer.)r   r    )r   r(   s     r   Úload_memory_variablesz3ConversationTokenBufferMemory.load_memory_variables;   s   € ð ” ¤Ð-Ð-r!   ÚoutputsNc                 ój  •— t          ¦   «                              ||¦  «         | j        j        }| j                             |¦  «        }|| j        k    r\g }|| j        k    rQ|                     |                     d¦  «        ¦  «         | j                             |¦  «        }|| j        k    °MdS dS dS )z6Save context from this conversation to buffer. Pruned.r   N)	ÚsuperÚsave_contextr#   r$   r   Úget_num_tokens_from_messagesr   ÚappendÚpop)r   r(   r+   r    Úcurr_buffer_lengthÚpruned_memoryÚ	__class__s         €r   r.   z*ConversationTokenBufferMemory.save_context@   s·   ø€ å‰Œ×Ò˜V WÑ-Ô-Ð-àÔ!Ô*ˆØ!œX×BÒBÀ6ÑJÔJÐØ Ô 4Ò4Ð4ØˆMØ$ tÔ';Ò;Ð;Ø×$Ò$ V§Z¢Z°¡]¤]Ñ3Ô3Ð3Ø%)¤X×%JÒ%JÈ6Ñ%RÔ%RÐ"ð % tÔ';Ò;Ð;Ð;Ð;ð 5Ð4à;Ð;r!   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚstrÚ__annotations__r   r   r   r   ÚintÚpropertyr   r    r   Úlistr   r   r'   r   Údictr*   r.   Ú__classcell__)r4   s   @r   r   r      s¯  ø€ € € € € € ðð ð  €L�#ÐÐÑØ€IˆsÐÐÑØ	ÐÐÑØ€J�ÐÐÑØ€O�SÐÐÑàðW˜ð Wð Wð Wñ „XðWð ð
˜sð 
ð 
ð 
ñ „Xð
ð ð) D¨Ô$5ð )ð )ð )ñ „Xð)ð ð! $ s¤)ð !ð !ð !ñ „Xð!ð ð.¨D°°c°¬Nð .¸tÀCÈÀH¼~ð .ð .ð .ñ „Xð.ð
S 4¨¨S¨¤>ð 
S¸DÀÀcÀ¼Nð 
SÈtð 
Sð 
Sð 
Sð 
Sð 
Sð 
Sð 
Sð 
Sð 
Sð 
Sr!   r   N)Útypingr   Úlangchain_core._apir   Úlangchain_core.language_modelsr   Úlangchain_core.messagesr   r   Útyping_extensionsr   Ú$langchain_classic.memory.chat_memoryr	   r   © r!   r   ú<module>rG      sä   ðØ Ð Ð Ð Ð Ð à *Ð *Ð *Ð *Ð *Ð *Ø <Ð <Ð <Ð <Ð <Ð <Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ &Ð &Ð &Ð &Ð &Ð &à ?Ð ?Ð ?Ð ?Ð ?Ð ?ð €Ø
ØØ/ð	Kð
ñ 
ô 
ð4Sð 4Sð 4Sð 4Sð 4S Nñ 4Sô 4Sñ
ô 
ð4Sð 4Sð 4Sr!   