Home / Class/ CachingMiddleware Class — langchain Architecture

CachingMiddleware Class — langchain Architecture

Architecture documentation for the CachingMiddleware class in test_wrap_model_call.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  b6308618_2187_2085_2b1e_f959020cbaa6["CachingMiddleware"]
  949c7cf4_56fe_f3b4_cd89_9631a7e9cb1e["AgentMiddleware"]
  b6308618_2187_2085_2b1e_f959020cbaa6 -->|extends| 949c7cf4_56fe_f3b4_cd89_9631a7e9cb1e
  573473e5_eb93_a7d7_84ba_c975071c09af["test_wrap_model_call.py"]
  b6308618_2187_2085_2b1e_f959020cbaa6 -->|defined in| 573473e5_eb93_a7d7_84ba_c975071c09af
  25d2f3f4_3deb_a45a_aff7_eba99885f9d4["wrap_model_call()"]
  b6308618_2187_2085_2b1e_f959020cbaa6 -->|method| 25d2f3f4_3deb_a45a_aff7_eba99885f9d4

Relationship Graph

Source Code

libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call.py lines 504–519

        class CachingMiddleware(AgentMiddleware):
            def wrap_model_call(
                self,
                request: ModelRequest,
                handler: Callable[[ModelRequest], ModelResponse],
            ) -> ModelCallResult:
                # Simple cache key based on last message
                cache_key = str(request.messages[-1].content) if request.messages else ""

                if cache_key in cache:
                    # Short-circuit with cached result
                    return cache[cache_key]
                # Execute and cache
                result = handler(request)
                cache[cache_key] = result
                return result

Extends

Frequently Asked Questions

What is the CachingMiddleware class?
CachingMiddleware is a class in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call.py.
Where is CachingMiddleware defined?
CachingMiddleware is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call.py at line 504.
What does CachingMiddleware extend?
CachingMiddleware extends AgentMiddleware.

Analyze Your Own Codebase

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

Try Supermodel Free