-: Hey there, Eden here, and today I want
to talk to you about the difference and similarities
between LangChain and LlamaIndex.
I'll start by saying that both frameworks are very similar,
and if you want to develop an LLM application,
you can do it with LangChain,
and you can probably do it with LlamaIndex as well.
Both of these frameworks offers us utilities and tools
in order to build our LLM application.
LangChain is more popular.
It has more adoptions among developers.
In LlamaIndex, there is adoption as well,
but not as much as LangChain.
I would say that LlamaIndex is more focused on data,
retrieval augmentation, integrating external data
into LLM applications, and it's more data-oriented,
while LangChain does offer all
of those feature I just mentioned.
And the support for retrieval augmentation
in LangChain has gotten a lot better,
where they introduce the abstraction
of LangChain Expression Language,
which offers a lot of flexibility
when building retrieval augmentation systems.
In my opinion, LLM applications are usually divided
into retrieval augmentation generation applications,
where you chat with your data,
connect to some external data, and agentic applications,
where those are applications where we leverage
the reasoning power of an LLM to choose a correct set
of tools to use and to invoke them,
and, by that, run non-deterministic actions.
And while LlamaIndex does have support for agents,
it has an implementation, for example,
for the React algorithm,
most of their agent offering is revolving
around retrieval and search, and, in my opinion,
the LangChain offering regarding agents is
much more robust and much more comprehensive.
So in LangChain,
they made a lot of changes in their framework
where we have now with the LangChain Expression Language
a lot of flexibility of how to run our agents
and how to determine which tools to select.
And I do see in LangChain a lot more research
and a lot more activity in that area.
It seems that they are much more up to date
with current research when it comes
to developing LLM agents.
(screen whizzing)
To summarize this video, both frameworks are very similar.
However, in my opinion, I would go with LangChain
when it comes to develop an LLM application.
Even if my application is very focused on data,
and it has a lot of retrieval augmentation
and a lot of usage of external data sources,
I would still go with LangChain because,
I would still go with LangChain
because it will answer those needs as well.
If I were to go to build and agentic application,
of course, I would go to LangChain
because it has a much more robust ecosystem
for building generative AI agents.