Home / Class/ InMemoryCache Class — langchain Architecture

InMemoryCache Class — langchain Architecture

Architecture documentation for the InMemoryCache class in test_cache.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  dde0a18e_08b4_e05c_db80_ddd507e7088e["InMemoryCache"]
  523f3c01_ffbb_1a97_9161_fec704fe8c2e["BaseCache"]
  dde0a18e_08b4_e05c_db80_ddd507e7088e -->|extends| 523f3c01_ffbb_1a97_9161_fec704fe8c2e
  4448d00a_7fa0_afd0_1877_b0eb9e910890["test_cache.py"]
  dde0a18e_08b4_e05c_db80_ddd507e7088e -->|defined in| 4448d00a_7fa0_afd0_1877_b0eb9e910890
  57756436_4483_5f82_ac6e_ccdb52c4594a["__init__()"]
  dde0a18e_08b4_e05c_db80_ddd507e7088e -->|method| 57756436_4483_5f82_ac6e_ccdb52c4594a
  fd8ae1e7_a794_e8ea_0c6b_9a9995a0de1a["lookup()"]
  dde0a18e_08b4_e05c_db80_ddd507e7088e -->|method| fd8ae1e7_a794_e8ea_0c6b_9a9995a0de1a
  d9d35ad6_3145_e9e3_4213_449315bbf65a["update()"]
  dde0a18e_08b4_e05c_db80_ddd507e7088e -->|method| d9d35ad6_3145_e9e3_4213_449315bbf65a
  2407726c_ed4b_2988_c3cb_e908159f9b30["clear()"]
  dde0a18e_08b4_e05c_db80_ddd507e7088e -->|method| 2407726c_ed4b_2988_c3cb_e908159f9b30

Relationship Graph

Source Code

libs/core/tests/unit_tests/language_models/llms/test_cache.py lines 10–28

class InMemoryCache(BaseCache):
    """In-memory cache used for testing purposes."""

    def __init__(self) -> None:
        """Initialize with empty cache."""
        self._cache: dict[tuple[str, str], RETURN_VAL_TYPE] = {}

    def lookup(self, prompt: str, llm_string: str) -> RETURN_VAL_TYPE | None:
        """Look up based on `prompt` and `llm_string`."""
        return self._cache.get((prompt, llm_string), None)

    def update(self, prompt: str, llm_string: str, return_val: RETURN_VAL_TYPE) -> None:
        """Update cache based on `prompt` and `llm_string`."""
        self._cache[prompt, llm_string] = return_val

    @override
    def clear(self, **kwargs: Any) -> None:
        """Clear cache."""
        self._cache = {}

Extends

Frequently Asked Questions

What is the InMemoryCache class?
InMemoryCache is a class in the langchain codebase, defined in libs/core/tests/unit_tests/language_models/llms/test_cache.py.
Where is InMemoryCache defined?
InMemoryCache is defined in libs/core/tests/unit_tests/language_models/llms/test_cache.py at line 10.
What does InMemoryCache extend?
InMemoryCache extends BaseCache.

Analyze Your Own Codebase

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

Try Supermodel Free