Home / Function/ wrap_model_call() — langchain Function Reference

wrap_model_call() — langchain Function Reference

Architecture documentation for the wrap_model_call() function in test_tools.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  55b56038_90e1_3956_3f9e_4c88e7180d41["wrap_model_call()"]
  f4fb523a_f2ec_5df1_98bb_9e45d358ec38["SecondMiddleware"]
  55b56038_90e1_3956_3f9e_4c88e7180d41 -->|defined in| f4fb523a_f2ec_5df1_98bb_9e45d358ec38
  style 55b56038_90e1_3956_3f9e_4c88e7180d41 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_tools.py lines 285–302

        def wrap_model_call(
            self,
            request: ModelRequest,
            handler: Callable[[ModelRequest], ModelResponse],
        ) -> ModelCallResult:
            tools: list[str] = []
            filtered_tools: list[BaseTool | dict[str, Any]] = []
            for t in request.tools:
                assert isinstance(t, BaseTool)
                # Should not see tool_c here
                assert t.name != "tool_c"
                tools.append(t.name)
                # Remove tool_b
                if t.name != "tool_b":
                    filtered_tools.append(t)
            modification_order.append(tools)
            request = request.override(tools=filtered_tools)
            return handler(request)

Domain

Subdomains

Frequently Asked Questions

What does wrap_model_call() do?
wrap_model_call() is a function in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_tools.py.
Where is wrap_model_call() defined?
wrap_model_call() is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_tools.py at line 285.

Analyze Your Own Codebase

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

Try Supermodel Free