langchain

langchain

Facts

Openness
Open source
Licence
MIT
Language
Python
Pinned version
be854a1 (2026-09-28)
Topics checked
28 of 33
Kind of agent
General framework

What it does notably well

  • Compaction

    SummarizationMiddleware._find_safe_cutoff_point (a static method) walks backward from the cutoff when the message there is a ToolMessage, finds the AIMessage whose tool_calls ids…

    SummarizationMiddleware has no default trigger (trigger=None, so it never fires until configured); a trigger can be a (tokens, N), (fraction, F) or (messages, N) tuple, a dict…

  • Concurrency

    Of the three pieces the lead names, only the token-bucket rate limiter (InMemoryRateLimiter, opt-in through BaseChatModel.rate_limiter) is defined in the langchain repository…

  • Config and routing

    langchain_v1 routes models through init_chat_model over 30 built-in providers with provider:model strings, and its LLMToolSelectorMiddleware docstring shows a smaller model…

  • Message model

    create_agent keeps the system prompt out of the stored state: it turns system_prompt into a SystemMessage, passes it as ModelRequest.system_message, and prepends it to the…

    In HumanInTheLoopMiddleware, a reject decision adds a ToolMessage with status error carrying the original tool_call_id, and a respond decision adds one with status success; an…

See how langchain does on each topic

The topic-by-topic verdicts, the code lines and a side-by-side comparison are in the app. Sign in with Google; new accounts are approved by hand.

Independent analysis, not affiliated with langchain.