My opinion is that, after working on building the framework for the last 1.5 years, it can be hard to build things that are useful as a standalone thing (like a vector store class), because as a framework, things are inherently coupled and work well together
That being said, this is why stuff like our new workflows module excites me.
- It's essentially decoupled from the library and self contained. It's focused purely on event driven worklfows
- It promotes lower level usage of stuff like llms, embeddings, retrievers, tool calling, etc. Which makes examples and implementations way less black box (as a new user, you would have no idea what a chat engine or query engine does, which imo is bad as soon as you need to debug or customize)