langgraph_agent_toolkit.agents.components.middlewares.token_trim module

Middleware that limits the model input to a token budget.

class langgraph_agent_toolkit.agents.components.middlewares.token_trim.TokenTrimMiddleware(max_tokens=None, token_counter=count_tokens_approximately)[source][source]

Bases: AgentMiddleware

Limit the model input to a token budget.

Each model call receives at most max_tokens from recent history. The middleware keeps the full history in state.

Parameters:
  • max_tokens (int | None) – Token budget for the message view. None disables trimming.

  • token_counter (Callable[[list[BaseMessage]], int] | Callable[[BaseMessage], int] | BaseLanguageModel) – Token-counting callable or chat model.

__init__(max_tokens=None, token_counter=count_tokens_approximately)[source][source]
Parameters:
  • max_tokens (int | None)

  • token_counter (Callable[[list[BaseMessage]], int] | Callable[[BaseMessage], int] | BaseLanguageModel)

Return type:

None

wrap_model_call(request, handler)[source][source]
Parameters:
  • request (ModelRequest)

  • handler (Callable[[ModelRequest], ModelResponse])

Return type:

ModelResponse

async awrap_model_call(request, handler)[source][source]
Parameters:
  • request (ModelRequest)

  • handler (Callable[[ModelRequest], Awaitable[ModelResponse]])

Return type:

ModelResponse