LangGraph从入门到精通:零基础构建你的第一个AI Agent!
文章核心内容是介绍 LangGraph 框架,帮助读者从零开始构建基于大型语言模型的应用。文章首先介绍了 LangGraph 的核心概念(State、Node、Edge),然后通过线性工作流示例讲解基础用法。接着深入探讨了如何构建真正的 AI Agent,重点介绍了 ReAct 模式,并提供了两种构建工具 Agent 的方法:使用 create_react_agent 简化流程和手动构建以实现完全
简介
文章核心内容是介绍 LangGraph 框架,帮助读者从零开始构建基于大型语言模型的应用。文章首先介绍了 LangGraph 的核心概念(State、Node、Edge),然后通过线性工作流示例讲解基础用法。接着深入探讨了如何构建真正的 AI Agent,重点介绍了 ReAct 模式,并提供了两种构建工具 Agent 的方法:使用 create_react_agent 简化流程和手动构建以实现完全控制。通过这些内容,读者可以掌握构建复杂、有状态、可控的 AI 应用的核心技能。
在构建基于大型语言模型(LLM)的应用时,我们很快会发现简单的“一问一答”模式远远不够。真正的智能应用需要具备规划、执行、反思的能力,能够与外部世界交互,并根据情况做出决策。这正是 LangGraph 的用武之地。
与 LangChain 中封装好的 AgentExecutor
不同,LangGraph 提供了一套更底层、更灵活的工具,让我们能够像绘制流程图一样,精确地设计和控制 Agent 的每一步行为。它将 Agent 难以捉摸的“黑盒”思考过程,转变成了对开发者完全透明的“白盒”工作流。
本篇教程将作为一个完整的、自包含的指南,带你走完从 LangGraph 零基础到构建第一个实用 AI Agent 的全过程。读完本文,将掌握构建复杂、有状态、可控的 AI 应用的核心技能。
第一部分:核心概念与基础工作流
在深入构建 Agent 之前,我们必须先掌握 LangGraph 的基本构成和如何创建一个简单的工作流。
1.1 核心概念:State, Node, Edge
构建一个 LangGraph 应用,就像绘制一张流程图,离不开三个基本元素:
•State (状态): 一个在图的整个执行过程中持续存在并被传递的数据对象。可以把它看作是整个工作流的“共享内存”,所有节点都通过它来交换信息。•Node (节点): 一个代表流程图中具体“步骤”的 Python 函数。它接收当前的状态作为输入,执行独立的任务,然后返回一个字典来更新状态。•Edge (边): 负责连接节点,定义了任务从一个节点流向另一个节点的路径。
1.2 基础实践:构建一个线性的两步工作流
我们将从一个包含“起草”和“审阅”两个步骤的报告生成应用开始。这个例子将帮助我们熟悉最核心的 API,而无需立即处理复杂的 Agent 逻辑。
from dotenv import load_dotenv
这个简单的线性图让我们掌握了 add_node
和 add_edge
的用法。现在,让我们进入更激动人心的部分。
第二部分:构建真正的 Agent
一个线性的工作流是不够的,真正的 Agent 需要具备决策和与外部交互的能力。
2.1 Agent 的核心思想 (ReAct)
一个智能体通常遵循 ReAct (Reason-Act) 的工作模式,这是一个循环过程:
1.思考 (Reason): 基于当前任务分析并决定下一步策略(是直接回答还是调用工具)。2.行动 (Act): 执行策略,例如调用搜索引擎。3.观察 (Observe): 接收工具返回的结果,再次进入“思考”阶段。
LangGraph 的图结构为实现这一循环提供了完美的框架。
2.2 综合实践:两种方式构建工具 Agent
我们将介绍两种方式来构建 Agent。对于标准场景,强烈推荐使用第一种 create_react_agent
的方式。
方法一 :使用 create_react_agent
简化流程
LangGraph 提供了一个极其方便的高级函数 create_react_agent
,它可以将所有繁琐的组装工作封装起来,让你用一行代码就得到一个功能完备的 ReAct Agent。
from langchain_core.messages importHumanMessage
create_react_agent
极大地提升了开发效率,是构建标准 Agent 的首选。
方法二 :手动构建以实现完全控制
如果需要实现高度定制化的逻辑(比如增加一个人工审核节点),理解如何手动构建就至关重要了。
1. 定义 Agent 状态与路由
from typing importAnnotated
2. 定义节点并组装图
from langgraph.prebuilt importToolNode
3. 运行与测试
print("\n--- 手动构建 Agent 测试 ---")
我们会发现,手动构建出的 agent_app_manual
和 create_react_agent
生成的 agent_app_prebuilt
功能上是完全一致的。手动构建给了我们更多的控制权,让我们可以在这个图的任何地方“添砖加瓦”。
总结
在本篇教程中:
•我们从一个简单的线性工作流入手,掌握了 LangGraph 的基础 API。•接着,我们学习了构建一个真正 Agent 所需的核心技术并重点掌握了最高效的构建方式 create_react_agent
。•同时,我们也深入了解了手动构建的全过程,这为我们将来实现更复杂的定制化 Agent 打下了坚实的基础。
我们同时掌握了构建 Agent 的“快捷方式”和“根本方法”,足以应对各种不同的开发需求。在后续的教程中,我们将基于此,探索更高级的状态管理、多智能体协作以及应用的持久化等更深入的主题。
Git地址: https://github.com/lgy1027/ai-tutorial
AI大模型学习和面试资源
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习和面试资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
更多推荐
所有评论(0)