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
Source
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