What each framework is: mission, architecture, and version history
LangChain was created by Harrison Chase and first published in October 2022, just weeks after ChatGPT's release. It was the first Python library to systematically abstract LLM interactions into composable primitives — Chains, Agents, Memory, and Tools — and its early-mover advantage compounded rapidly as the LLM application developer community coalesced around it. By mid-2023 it was the fastest-growing repository on GitHub. Version 0.1 stabilized the core API. Version 0.2 introduced the LangChain Expression Language (LCEL) as the new composable pipeline primitive, deprecating the older Chain classes. Version 0.3 consolidated the monorepo, splitting into langchain-core, langchain-community, and langchain partner packages. **LangChain 0.4, released mid-2026, completes this consolidation and makes LangGraph the canonical agent runtime**, replacing the older AgentExecutor pattern per the LangChain docs.
LlamaIndex (originally called GPT Index) was created by Jerry Liu and published in November 2022, also in the immediate wake of ChatGPT. Unlike LangChain's general-purpose orientation, LlamaIndex was purpose-built for one problem: connecting LLMs to your own data. The founding insight was that building a knowledge-grounded LLM application — what we now call RAG — required a specialized data framework, not just a generic chain abstraction. VectorStoreIndex, SimpleDirectoryReader, and QueryEngine were the first-class primitives from day one. **LlamaIndex 0.12.x (mid-2026) extends that foundation with full agent support, structured data extraction, multi-modal indexing, and enterprise workflow primitives** while staying true to the data-framework-first philosophy per the LlamaIndex docs.
The architectural philosophy divergence is the most important thing to understand about these frameworks. LangChain treats the LLM as the central orchestration primitive — everything else (tools, retrievers, vector stores, memory) plugs into the chain or agent as interchangeable components. This makes LangChain flexible and expressive but requires more wiring for data-heavy workloads. LlamaIndex treats the data pipeline as the central primitive — the LLM is the reasoning engine that sits on top of an already-well-indexed, already-well-structured data layer. This makes LlamaIndex more opinionated and more turnkey for document retrieval workloads but requires more customization for non-RAG LLM applications.
Both frameworks are MIT-licensed, Python-first with production-grade TypeScript mirrors (langchain.js and llamaindex.ts), and actively maintained by dedicated engineering teams backed by venture capital. LangChain Inc. has raised over $25M; LlamaIndex (run-llama) has raised similar amounts. Both are open-source-first with commercial cloud products layered on top (LangSmith and LangGraph Cloud for LangChain; no equivalent first-party cloud for LlamaIndex, which positions itself as infrastructure-agnostic). Neither is at serious risk of abandonment in 2026.
For teams evaluating these frameworks, the honest first question is: what is the core thing your LLM application does? If the core function is connecting an LLM to a corpus of documents — PDFs, Notion pages, Confluence wikis, Slack history, database records — and surfacing accurate, attributed answers, start with LlamaIndex and confirm that its constraints fit your requirements. If the core function is orchestrating multi-step agent workflows, tool-calling pipelines, or complex chained reasoning that may or may not involve document retrieval, start with LangChain and assess whether its RAG ergonomics meet your needs.
Version history note: both frameworks have introduced breaking changes between minor versions. LangChain 0.1→0.2 required rewriting chains to LCEL. LlamaIndex 0.10 introduced breaking API changes from 0.9. Before upgrading either framework in a production deployment, review the changelog carefully and run your full evaluation suite before promoting. The migration guides for both frameworks are thorough but migration is non-trivial for complex pipelines.