File: //usr/local/lib/python3.10/dist-packages/langchain/memory/__pycache__/__init__.cpython-310.pyc
o
���g� � @ s� d Z ddlmZmZ ddlmZ ddlmZmZ ddl m
Z
ddlmZ ddl
mZmZmZmZmZ ddlmZ dd lmZ dd
lmZ ddlmZ ddlmZ dd
lmZ ddlm Z er�ddl!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 ddl3m4Z4 ddl5m6Z6 ddl7m8Z8 i dd�dd�dd�dd�dd�dd�dd�dd�dd�d d�d!d�d"d�d#d�d$d�d%d�d&d�d'd�dddd(��Z9ee:e9d)�Z;d*e<d+efd,d-�Z=g d.�Z>d/S )0aL **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'