# Modules

LangChain provides standard, extendable interfaces and external integrations for
the following modules, listed from least to most complex:

**[Model I/O](/modules/model_io/models/models.md)**  
Interface with language models.

**[Retrieval](/modules/retrieval/retrieval.md)**  
Interface with application-specific data.

**[Chains](/modules/chains/chains.md)**  
Construct sequences of calls.

**[Agents]()**  
Let chains choose which tools to use given high-level directives.

**[Memory](/modules/memory/memory.md)**  
Persist application state between runs of a chain.

**[Callbacks]()**  
Log and stream intermediate steps of any chain.
