
    h                        d Z ddlmZ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mZmZ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 ddlmZ ddlm Z  er8ddl!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2 ddl3m4Z4 ddl5m6Z6 ddl7m8Z8 i ddddddddddddddddddd dd!dd"dd#dd$dd%dd&dd'ddddd(Z9 ee:e9)      Z;d*e<d+efd,Z=g d-Z>y.)/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                     t        |       S )zLook up attributes dynamically.)_import_attribute)r+   s    W/var/www/html/eduruby.in/venv/lib/python3.12/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   