深入了解同一创建者 LangChain 和 LangGraph 的两个库:它们的关键构建块、它们如何处理其功能的核心部分,以及为您的用例在它们之间做出决定
语言模型为用户如何与 AI 系统交互以及这些系统如何通过自然语言相互通信开启了可能性。
在本文中,我们将探讨用于构建代理 AI 应用程序的两个最流行的框架——LangChain 和 LangGraph。在本文结束时,您应该对关键构建块、每个框架在处理其核心功能方面有何不同,并能够形成一个受过教育的观点,了解哪个框架最适合您的问题。
由于将生成式 AI 广泛纳入解决方案的做法相对较新,因此开源参与者正在积极竞争开发“最佳”代理框架和编排工具。这意味着,尽管每个参与者都带来了独特的方法,但他们几乎一直在推出新功能。阅读这篇文章时,请记住,今天是正确的,明天可能就不是了!
注意:我原本打算对 AutoGen、LangChain 和 LangGraph 进行比较。但是,AutoGen 已经宣布推出 AutoGen 0.4,这是对框架从基础开始的完全重新设计。请留意 AutoGen 0.4 发布时的另一篇文章!
LangChain 和 LangGraph 的基本组件
通过了解每个框架的不同基本元素,您将对它们在下一节中如何处理某些核心功能的主要差异有更丰富的了解。下面的描述并不是每个框架的所有组件的详尽列表,而是作为理解它们一般方法差异的有力基础。
LangChain
使用 LangChain 有两种方法:作为预定义命令的连续链或使用 LangChain Agent。每种方法处理工具和编排的方式都不同。链遵循预定义的线性工作流程,而Agent充当协调器,可以做出更动态(非线性)的决策。
- Chain:一系列步骤,可以包括对 llm、代理、工具、外部数据源、过程代码等的调用。链可以分支,这意味着根据 逻辑条件将单个链拆分为多个路径。
- Agent或语言模型:语言模型能够以自然语言生成响应。但是 Agent 使用语言模型和附加功