Skip to main content


This section contains higher-level components that combine other arbitrary systems (e.g. external APIs and services) and/or LangChain primitives together.

A good primer for this section would be reading the sections on LangChain Expression Language and becoming familiar with constructing sequences via piping and the various primitives offered.

The components covered in this section are:


Tools provide an interface for LLMs and other components to interact with other systems. Examples include Wikipedia, a calculator, and a Python REPL.


Agents use a language model to decide actions to take, often defined by a tool. They require an executor, which is the runtime for the agent. The executor is what actually calls the agent, executes the tools it chooses, passes the action outputs back to the agent, and repeats. The agent is responsible for parsing output from the previous results and choosing the next steps.


Building block-style compositions of other primitives and components.

Help us out by providing feedback on this documentation page: