|
| 1 | +!!! warning "Reference docs" |
| 2 | + |
| 3 | + This page contains **reference documentation** for Middleware. See [the docs](https://docs.langchain.com/oss/python/langchain/middleware) for conceptual guides, tutorials, and examples on using Middleware. |
| 4 | + |
| 5 | +## Middleware classes |
| 6 | + |
| 7 | +| CLASS | DESCRIPTION | |
| 8 | +| -------------- | ----------- | |
| 9 | +| [`ContextEditingMiddleware`](./#langchain.agents.middleware.ContextEditingMiddleware) | Edit context in agent workflows | |
| 10 | +| [`HumanInTheLoopMiddleware`](./#langchain.agents.middleware.HumanInTheLoopMiddleware) | Enable human intervention in agent processes | |
| 11 | +| [`LLMToolSelectorMiddleware`](./#langchain.agents.middleware.LLMToolSelectorMiddleware) | Select tools using LLM-based logic | |
| 12 | +| [`LLMToolEmulator`](./#langchain.agents.middleware.LLMToolEmulator) | Emulate tool execution using LLM | |
| 13 | +| [`ModelCallLimitMiddleware`](./#langchain.agents.middleware.ModelCallLimitMiddleware) | Limit the number of model calls | |
| 14 | +| [`ModelFallbackMiddleware`](./#langchain.agents.middleware.ModelFallbackMiddleware) | Provide fallback model options | |
| 15 | +| [`PIIMiddleware`](./#langchain.agents.middleware.PIIMiddleware) | Handle personally identifiable information | |
| 16 | +| [`SummarizationMiddleware`](./#langchain.agents.middleware.SummarizationMiddleware) | Summarize content in agent workflows | |
| 17 | +| [`TodoListMiddleware`](./#langchain.agents.middleware.TodoListMiddleware) | Manage TODO lists in agent processes | |
| 18 | +| [`ToolCallLimitMiddleware`](./#langchain.agents.middleware.ToolCallLimitMiddleware) | Limit the number of tool calls | |
| 19 | +| [`AgentMiddleware`](./#langchain.agents.middleware.AgentMiddleware) | Base middleware class for agent operations | |
| 20 | + |
| 21 | +## Components and utilities |
| 22 | + |
| 23 | +The following classes and functions provide the foundation for building and managing agent middleware: |
| 24 | + |
| 25 | +| COMPONENT | DESCRIPTION | |
| 26 | +| -------------- | ----------- | |
| 27 | +| [`AgentState`](./#langchain.agents.middleware.AgentState) | Represent the state of an agent | |
| 28 | +| [`ClearToolUsesEdit`](./#langchain.agents.middleware.ClearToolUsesEdit) | Function to clear tool usage edits | |
| 29 | +| [`InterruptOnConfig`](./#langchain.agents.middleware.InterruptOnConfig) | Configuration class for interruption handling | |
| 30 | +| [`ModelRequest`](./#langchain.agents.middleware.ModelRequest) | Represent a request to a model | |
| 31 | +| [`ModelResponse`](./#langchain.agents.middleware.ModelResponse) | Represent a response from a model | |
| 32 | +| [`before_model`](./#langchain.agents.middleware.before_model) | Function executed before model calls | |
| 33 | +| [`after_model`](./#langchain.agents.middleware.after_model) | Function executed after model calls | |
| 34 | +| [`wrap_model_call`](./#langchain.agents.middleware.wrap_model_call) | Function wrapper for model calls | |
| 35 | +| [`wrap_tool_call`](./#langchain.agents.middleware.wrap_tool_call) | Function wrapper for tool calls | |
| 36 | + |
1 | 37 | <!-- `group_by_category false to allow custom ordering --> |
| 38 | +<!-- `summary false since overriding above --> |
2 | 39 | ::: langchain.agents.middleware |
3 | 40 | options: |
4 | | - summary: |
5 | | - # <https://mkdocstrings.github.io/python/usage/configuration/members/#summary> |
6 | | - classes: true |
| 41 | + summary: false |
7 | 42 | group_by_category: false |
8 | 43 | members: |
9 | 44 | - ContextEditingMiddleware |
|
15 | 50 | - PIIMiddleware |
16 | 51 | - PIIDetectionError |
17 | 52 | - SummarizationMiddleware |
18 | | - - TodoListMiddleWare |
| 53 | + - TodoListMiddleware |
19 | 54 | - ToolCallLimitMiddleware |
20 | 55 | - AgentMiddleware |
21 | 56 | - AgentState |
|
27 | 62 | - after_model |
28 | 63 | - wrap_model_call |
29 | 64 | - wrap_tool_call |
30 | | - - dynamic-prompt |
31 | 65 | - ModelRequest |
0 commit comments