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.