One thing I found interesting while working with LangChain is the concept of Runnables.
At first, they look like a small abstraction. But as workflows grow, their value becomes much more obvious.
Without Runnables, every component would need its own way of being called and connected. Prompts, models, retrievers, and output parsers would all behave differently.
Runnables solve this by providing a common interface across components.
This means a PromptTemplate, an LLM, a Retriever, or an Output Parser can all be connected together in a consistent way.
What I like most is that they make workflows feel composable.
Instead of thinking about individual components, you start thinking about pipelines and workflows.
A simple concept on the surface, but one that sits at the foundation of many LangChain applications.

Top comments (0)