我开始为公司的一个项目与LangChain合作工作。同时,我在一个个人项目中开始使用并发现了LlamaIndex。
那时 LangGraph 还没有出现,我很快就发现使用图来构建复杂的聊天机器人体验是不可或缺的。所以我自建了一个基于 DAG 的平台,专门用来填补这一空白,具备聊天机器人的能力。
它们的目的不一样,处理数据的方式也不同虽然这两个框架都能做很多事情,但它们的核心功能不同。
LangChain 可以用来搭建应用它提供了多个组件,这些组件串联在一起,接收查询并给出答案。
LlamaIndex 是信息索引它主要提供这些索引组件,这样你就可以用来查询你的数据。
LangChain 总是依赖外部来存储数据,而 LlamaIndex 则默认自带数据存储方案。如果你看过关于这两个框架的教程,你可能会发现 LangChain 依赖现有的向量数据库解决方案来存储数据,而 LlamaIndex 默认使用自己的格式(当然,你也可以选择使用外部的向量数据库)。
总之LangChain(或 LangGraph)是构建基于大型语言模型的复杂应用程序的解决方案之一,而LlamaIndex则是专门用于索引和检索数据以供大型语言模型使用的应用程序的选择。
好消息是,你可以将两者结合使用,并结合使用LangChain / LangGraph来构建一个复杂的应用程序,该应用程序将使用LlamaIndex来进行数据索引和检索。