
FastAPI是什么?快速上手指南
LangGraph 由LangChain创建,是一个开源 AI 代理框架,旨在构建、部署和管理复杂的生成式 AI 代理工作流。它提供了一套工具和库,使用户能够以可扩展且高效的方式创建、运行和优化大型语言模型(LLM)。LangGraph 的核心是利用基于图的架构的强大功能来建模和管理AI 代理工作流中各个组件之间的复杂关系。
所有这些信息意味着什么?以下示例可以帮助您更清楚地理解 LangGraph:将这些基于图的架构视为一个强大的可配置地图,即“超级地图”。用户可以将AI 工作流程想象成这张“超级地图”的“导航员”。最后,在这个例子中,用户是“制图员”。从这个意义上讲,导航员绘制出“超级地图”上各点之间的最佳路线,而所有这些路线都是由“制图员”创建的。
总结一下,基于图的架构(“超级地图”)中的最佳路线是通过 AI 工作流(“导航器”)绘制和探索的。这个类比是理解 LangGraph 的绝佳起点——如果你喜欢地图,那么你还可以额外看到有人使用“制图师”这个词。
LangGraph 工作流程
LangGraph 阐明了 AI 工作流程中的流程,使代理的状态完全透明。在 LangGraph 中,“状态”功能充当存储库,记录并追踪 AI 系统处理的所有有价值的信息。它类似于一个数字笔记本,系统在工作流程或图形分析的各个阶段中捕获并更新数据。
例如,如果您正在运行代理来监控天气,此功能可以跟踪降雪次数,并根据降雪趋势的变化提出建议。这种系统如何完成复杂任务的可观察性,有助于初学者更好地理解状态管理。状态管理在调试方面非常有用,因为它可以将应用程序的状态集中起来,从而通常缩短整个调试过程。
这种方法可以提高决策效率、可扩展性和整体绩效。它还能让那些可能不熟悉这些流程或希望更清楚地了解幕后情况的个人更多地参与进来。
LangGraph 还基于多项关键技术构建,其中包括用于构建 AI 应用程序的 Python 框架LangChain。LangChain包含一个用于构建和管理LLM 的库。LangGraph 还采用了人机交互 (Human-in-the-loop) 方法。通过将这些技术与一系列 API 和工具相结合,LangGraph 为用户提供了一个多功能平台,用于开发 AI 解决方案和工作流程,包括聊天机器人、状态图和其他基于代理的系统。
通过探索 LangGraph 的主要功能、优势和用例,深入了解它。阅读完本文后,您将掌握必要的知识和资源,从而更好地使用 LangGraph。
首先,让我们了解一下 LangGraph 的关键组件。该框架由几个关键组件构建而成,这些组件协同工作,使用户能够创建和管理复杂的 AI 工作流。这些组件包括:
人机在环:人机在环(HITL) 指的是在流程的某个阶段需要人机交互。在机器学习(ML) 领域,HITL 指的是一种协作过程,在构建模型的过程中,人类会增强机器的计算能力,使其能够做出明智的决策。通过使用最关键的数据点,HITL 可以提高机器学习算法的准确性,超越随机采样方法。
状态图:图中的每个节点代表计算中的一个步骤,本质上是一个状态图。这种状态方法允许图保留先前步骤的信息,从而能够在计算过程中持续且关联地处理信息。用户可以使用 LangGraph 的 API 管理所有状态图。
循环图:循环图是指任何包含至少一个循环的图,对于代理运行时至关重要。这意味着存在一条始于同一节点并止于同一节点的路径,从而在图中形成一个循环。复杂的工作流通常涉及循环依赖关系,其中一个步骤的结果取决于循环中的先前步骤。
节点:在 LangGraph 中,节点代表 AI 工作流中的各个组件或代理。节点可以被视为以特定方式相互交互的“参与者”。例如,要添加用于工具调用的节点,可以使用 ToolNode。另一个例子,下一个节点指的是将在当前节点之后执行的节点。
边:边是 Python 中的一个函数,它根据当前状态确定下一步要执行哪个节点。边可以是条件分支,也可以是固定转换。
RAG:检索增强生成 (RAG)通过检索相关文档将 LLM 的功能与来自外部来源的上下文信息相结合,然后将其用作答案生成的输入。
工作流:工作流是定义 AI 工作流的节点交互序列。通过将节点排列成工作流,用户可以创建更复杂、更动态的工作流,并充分利用各个组件的优势。
API:LangGraph 提供了一组API,使用户能够以编程方式与其组件进行交互。用户可以使用 API 密钥添加新节点、修改现有工作流以及从 AI 工作流中检索数据。
LangSmith:LangSmith 是一套专门用于在 LangGraph 中构建和管理 LLM 的 API。它提供了用于初始化 LLM、添加条件边和优化性能的工具。通过以创新的方式组合这些组件,用户可以构建更复杂的 AI 工作流,充分利用各个组件的优势。
LangGraph 采用基于图的架构,使用户能够在不降低速度或牺牲效率的情况下扩展人工智能工作流程。LangGraph 通过对节点之间的复杂关系进行建模来增强决策能力,这意味着它使用 AI 代理来分析其过去的行为和反馈。在 LLM 领域,这个过程被称为“反射”。
增强决策能力:通过对节点之间的复杂关系进行建模,LangGraph 提供了构建更有效的决策系统的框架。
提高灵活性:开源特性和模块化设计,方便开发人员集成新组件并调整现有工作流程。
多代理工作流:复杂任务可以通过多代理工作流来处理。这种方法需要为特定任务或领域创建专用的 LangChain 代理。将任务路由到合适的 LangChain 代理,可以并行执行并高效处理各种工作负载。这种多代理网络架构体现了代理自动化的去中心化协调能力。
Joao Moura 创建的一个很好的例子是将 CrewAI 与 LangChain 和 LangGraph 结合使用。CrewAI 可以自动协调自主 AI 代理,从而自动检查电子邮件和创建草稿,使它们能够高效协作并执行复杂任务。
聊天机器人:用户可以构建一个基于节点的工作流和有向无环图 (DAG) 的代理应用程序,用于度假规划。聊天机器人会学习响应最少的用户输入并定制推荐。目前,谷歌 Duplex 等服务正在以类似的方式使用 LangGraph 来模拟类似人类的对话。
代理系统:LangGraph 提供了一个构建基于代理的系统的框架,可用于机器人、自动驾驶汽车或视频游戏等应用。
LLM 应用程序:利用 LangGraph 的功能,开发者可以构建更复杂的 AI 模型,这些模型能够随着时间推移不断学习和改进。挪威邮轮公司使用 LangGraph 来编译、构建和完善面向宾客的 AI 解决方案。此功能可带来更卓越、更个性化的宾客体验。
LangGraph 的代理基于 OpenAI 的 GPT(生成式预训练 Transformer)模型系列 GPT-3.5 和 GPT-4。然而,LangGraph 及其开源社区也贡献了其他几个通过 LLM API 配置初始化的模型,包括 Anthropic 和 AzureChatOpenAI 模型。其相对较小的循环与 Auto-GPT 等项目类似。
LangGraph 在其 GitHub 文档网站上提供了一个 YouTube 教程,方便用户探索如何与开源 LLM 集成。集成 LLM 的第一步是设置一个推理存储库 (repo),例如 LLaMA-Factory、FastChat 和 Ollama。此存储库支持部署相应的 LLM 模型,该模型可通过其 API 凭据进行配置。
CrewAI、MetaGPT 和 AutoGen 只是少数能够处理复杂工作流程的多智能体框架。这些框架能够以更灵活、更细致的方式应对各种计算挑战。通过提供全面的调试功能,这些框架使开发人员能够快速识别和解决问题,从而提高开发和优化流程的效率。
LangGraph 还推出了 LangGraph Studio,一个用于工作流开发的可视化界面。使用 LangGraph Studio,用户可以通过图形界面设计和构建工作流,而无需编写代码。可下载的桌面应用程序使 LangGraph Studio 更适合初学者使用。LangGraph Studio 还提供以下附加功能:
学习曲线平缓:无需 LangGraph Studio 即可访问 LangGraph。然而,通过使用 LangGraph Studio 的可视化界面,用户可以专注于设计工作流程,而无需陷入代码的泥潭。
改进的协作:LangGraph Studio 支持与其他人共享工作流程,无论是开发团队还是客户。
调试:功能不仅仅限于构建图表,还包括调试功能,以确保图表的准确性和可靠性。LangGraph Studio 凭借其先进的集成开发环境 (IDE),可帮助您可视化和调试 LangGraph 应用程序。
增强的自然语言处理(NLP):LangGraph 将拥有更先进的NLP功能,使其能够更好地理解自然语言并提供更准确的响应。
改进的机器学习:LangGraph 将具有改进的机器学习能力,使其能够随着时间的推移进行学习和改进。
支持新平台:LangGraph 将支持新平台,例如移动设备和边缘计算,以使其技术更易于访问。
文章转载自: 什么是 LangGraph?