Home / File/ memory.py — langchain Source File

memory.py — langchain Source File

Architecture documentation for memory.py, a python file in the langchain codebase. 9 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  79c72c08_80a1_3052_55aa_dc1bfe7791de["memory.py"]
  8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"]
  79c72c08_80a1_3052_55aa_dc1bfe7791de --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3
  439a4142_6fa6_fe9a_2cba_7c9fb0cdceb7["langchain_classic._api"]
  79c72c08_80a1_3052_55aa_dc1bfe7791de --> 439a4142_6fa6_fe9a_2cba_7c9fb0cdceb7
  fa7f5088_cc60_fc55_a885_6f490834689c["langchain_classic.memory.buffer"]
  79c72c08_80a1_3052_55aa_dc1bfe7791de --> fa7f5088_cc60_fc55_a885_6f490834689c
  c452ca90_0427_5792_deed_8488d80fced5["langchain_classic.memory.buffer_window"]
  79c72c08_80a1_3052_55aa_dc1bfe7791de --> c452ca90_0427_5792_deed_8488d80fced5
  30f886ad_0a43_3fe4_e6cb_ff6d543afda2["langchain_classic.memory.combined"]
  79c72c08_80a1_3052_55aa_dc1bfe7791de --> 30f886ad_0a43_3fe4_e6cb_ff6d543afda2
  95c71c6c_a17a_e21d_30e9_763a9d973655["langchain_classic.memory.entity"]
  79c72c08_80a1_3052_55aa_dc1bfe7791de --> 95c71c6c_a17a_e21d_30e9_763a9d973655
  68580bf1_e2f3_15de_9d81_9a40ff9b227f["langchain_classic.memory.summary"]
  79c72c08_80a1_3052_55aa_dc1bfe7791de --> 68580bf1_e2f3_15de_9d81_9a40ff9b227f
  83265fcb_f239_126b_4b58_47636471c382["langchain_classic.memory.summary_buffer"]
  79c72c08_80a1_3052_55aa_dc1bfe7791de --> 83265fcb_f239_126b_4b58_47636471c382
  c03b611c_d9f0_451b_323a_fddf8afc91e5["langchain_community.memory.kg"]
  79c72c08_80a1_3052_55aa_dc1bfe7791de --> c03b611c_d9f0_451b_323a_fddf8afc91e5
  style 79c72c08_80a1_3052_55aa_dc1bfe7791de fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

"""Memory modules for conversation prompts."""

from typing import TYPE_CHECKING, Any

from langchain_classic._api import create_importer
from langchain_classic.memory.buffer import (
    ConversationBufferMemory,
    ConversationStringBufferMemory,
)
from langchain_classic.memory.buffer_window import ConversationBufferWindowMemory
from langchain_classic.memory.combined import CombinedMemory
from langchain_classic.memory.entity import ConversationEntityMemory
from langchain_classic.memory.summary import ConversationSummaryMemory
from langchain_classic.memory.summary_buffer import ConversationSummaryBufferMemory

if TYPE_CHECKING:
    from langchain_community.memory.kg import ConversationKGMemory

# Create a way to dynamically look up deprecated imports.
# Used to consolidate logic for raising deprecation warnings and
# handling optional imports.
DEPRECATED_LOOKUP = {
    "ConversationKGMemory": "langchain_community.memory.kg",
}

_importer = create_importer(__package__, deprecated_lookups=DEPRECATED_LOOKUP)


def __getattr__(name: str) -> Any:
    """Look up attributes dynamically."""
    return _importer(name)


# This is only for backwards compatibility.

__all__ = [
    "CombinedMemory",
    "ConversationBufferMemory",
    "ConversationBufferWindowMemory",
    "ConversationEntityMemory",
    "ConversationKGMemory",
    "ConversationStringBufferMemory",
    "ConversationSummaryBufferMemory",
    "ConversationSummaryMemory",
]

Subdomains

Dependencies

  • langchain_classic._api
  • langchain_classic.memory.buffer
  • langchain_classic.memory.buffer_window
  • langchain_classic.memory.combined
  • langchain_classic.memory.entity
  • langchain_classic.memory.summary
  • langchain_classic.memory.summary_buffer
  • langchain_community.memory.kg
  • typing

Frequently Asked Questions

What does memory.py do?
memory.py is a source file in the langchain codebase, written in python. It belongs to the CoreAbstractions domain, RunnableInterface subdomain.
What functions are defined in memory.py?
memory.py defines 2 function(s): __getattr__, langchain_community.
What does memory.py depend on?
memory.py imports 9 module(s): langchain_classic._api, langchain_classic.memory.buffer, langchain_classic.memory.buffer_window, langchain_classic.memory.combined, langchain_classic.memory.entity, langchain_classic.memory.summary, langchain_classic.memory.summary_buffer, langchain_community.memory.kg, and 1 more.
Where is memory.py in the architecture?
memory.py is located at libs/langchain/langchain_classic/chains/conversation/memory.py (domain: CoreAbstractions, subdomain: RunnableInterface, directory: libs/langchain/langchain_classic/chains/conversation).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free