
    Ah                        S r SSKJrJr  SSKJr  SSKJrJr  SSK	J
r
  SSKJr  SSKJrJrJrJrJr  SSKJr  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJr  SSKJ r   \(       a8  SSK!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2  SSK3J4r4  SSK5J6r6  SSK7J8r8  0 SS_SS_SS_SS_SS_SS_SS_SS_SS_S S_S!S_S"S_S#S_S$S_S%S_S&S_S'S_SSSS(.Er9\" \:\9S)9r;S*\<S+\4S, jr=/ S-Qr>g.)/aL  **Memory** maintains Chain state, incorporating context from past runs.

**Class hierarchy for Memory:**

.. code-block::

    BaseMemory --> BaseChatMemory --> <name>Memory  # Examples: ZepMemory, MotorheadMemory

**Main helpers:**

.. code-block::

    BaseChatMessageHistory

**Chat Message History** stores the chat message history in different stores.

**Class hierarchy for ChatMessageHistory:**

.. code-block::

    BaseChatMessageHistory --> <name>ChatMessageHistory  # Example: ZepChatMessageHistory

**Main helpers:**

.. code-block::

    AIMessage, BaseMessage, HumanMessage
    )TYPE_CHECKINGAny)create_importer)ConversationBufferMemoryConversationStringBufferMemory)ConversationBufferWindowMemory)CombinedMemory)ConversationEntityMemoryInMemoryEntityStoreRedisEntityStoreSQLiteEntityStoreUpstashRedisEntityStore)ReadOnlySharedMemory)SimpleMemory)ConversationSummaryMemory)ConversationSummaryBufferMemory)ConversationTokenBufferMemory)VectorStoreRetrieverMemory)(ConversationVectorStoreTokenBufferMemory)AstraDBChatMessageHistoryCassandraChatMessageHistoryChatMessageHistoryCosmosDBChatMessageHistoryDynamoDBChatMessageHistoryElasticsearchChatMessageHistoryFileChatMessageHistoryMomentoChatMessageHistoryMongoDBChatMessageHistoryPostgresChatMessageHistoryRedisChatMessageHistorySingleStoreDBChatMessageHistorySQLChatMessageHistoryStreamlitChatMessageHistoryUpstashRedisChatMessageHistoryXataChatMessageHistoryZepChatMessageHistory)ConversationKGMemory)MotorheadMemory)	ZepMemoryr(   z+langchain_community.memory.motorhead_memoryr'   zlangchain_community.memory.kgr)   z%langchain_community.memory.zep_memoryr   z*langchain_community.chat_message_historiesr   r   r   r   r   r   r   r   r   r    r!   r"   r#   )r$   r%   r&   )deprecated_lookupsnamereturnc                     [        U 5      $ )zLook up attributes dynamically.)_import_attribute)r+   s    Q/var/www/html/shao/venv/lib/python3.13/site-packages/langchain/memory/__init__.py__getattr__r0   o   s    T""    )$r   r   r   r	   r   r   r
   r'   r   r   r   r   r   r   r   r   r   r   r   r   r(   r   r   r    r   r"   r   r   r!   r#   r$   r   r   r%   r&   r)   N)?__doc__typingr   r   langchain._apir   langchain.memory.bufferr   r   langchain.memory.buffer_windowr   langchain.memory.combinedr	   langchain.memory.entityr
   r   r   r   r   langchain.memory.readonlyr   langchain.memory.simpler   langchain.memory.summaryr   langchain.memory.summary_bufferr   langchain.memory.token_bufferr   langchain.memory.vectorstorer   0langchain.memory.vectorstore_token_buffer_memoryr   *langchain_community.chat_message_historiesr   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   langchain_community.memory.kgr'   +langchain_community.memory.motorhead_memoryr(   %langchain_community.memory.zep_memoryr)   DEPRECATED_LOOKUP__package__r.   strr0   __all__ r1   r/   <module>rI      s  : & * J 4  ; 0 > K G C     & CK?D; 8  !M	
 "#O F !"N !"N &'S J  !M  !M !"N K &'S  I!" "#O#$ 'SJI) 0 $KDUV #c #c #
%r1   