2026/4/16 6:55:18
网站建设
项目流程
win8建立网站,有限责任公司和股份有限公司,网站设计素材模板,网站优化的好处“「 嘿兄弟#xff0c;我好想交女朋友但都交不到#xff0c;怎么办#xff1f; 」” 身为 AI 工程师#xff0c;为了帮他#xff0c;当然是画个流程图啊#xff01; 交女朋友要分步骤#xff0c;每个步骤都有单一目的。 如果失败也没关系#xff0c;流程上我们退回去反…“「 嘿兄弟我好想交女朋友但都交不到怎么办 」”身为 AI 工程师为了帮他当然是画个流程图啊交女朋友要分步骤每个步骤都有单一目的。 如果失败也没关系流程上我们退回去反省一下再接再厉「… 这 TM 一点都不实际 ”有道理一定是因为没有用 LangGraph 的关系用了 LangGraph 一切都实际了起来!用 LangGraph 把每个步骤都接上 LLM 或者是 Tool搜索 要流程有流程要行动有行动 这就是交友 agent 。最近两年大家都可以看到AI的发展有多快我国超10亿参数的大模型在短短一年之内已经超过了100个现在还在不断的发掘中时代在瞬息万变我们又为何不给自己多一个选择多一个出路多一个可能呢与其在传统行业里停滞不前不如尝试一下新兴行业而AI大模型恰恰是这两年的大风口整体AI领域2025年预计缺口1000万人其中算法、工程应用类人才需求最为紧迫学习AI大模型是一项系统工程需要时间和持续的努力。但随着技术的发展和在线资源的丰富零基础的小白也有很好的机会逐步学习和掌握。【点击蓝字获取】【2025最新】AI大模型全套学习籽料可白嫖LLM面试题AI大模型学习路线大模型PDF书籍640套AI大模型报告等等从入门到进阶再到精通超全面存下吧为什么要 LangGraph当你的产品需要一些流程、步骤用 LangGraph 搭配 LangChain• 能够实现 workflow / Agent 搭建• 轻易把 LLM 引入每个步骤当中• 把流程抽象出来好维护。 把每一个复杂的步骤封装起来。可是LangGraph 怎么做到呢 有三个要素LangGraph 是什么LangGraph 三要素•State 状态机如同变量表•Node 干活 / 函数•Edge流程控制太抽象 给个简单例子# **State** class MyState(TypedDict): # from typing import TypedDict i: int j: int # Functions on **nodes** def fn1(state: MyState): print(fEnter fn1: {state[i]}) return {i: 1} def fn2(state: MyState): i state[i] return {i: i1} # Conditional **edge** function def is_big_enough(state: MyState): if state[i] 10: return END else: return n2 # The Graph! The Program !! workflow StateGraph(MyState) workflow.add_node(n1, fn1) workflow.add_node(n2, fn2) workflow.set_entry_point(n1) workflow.add_edge(n1, n2) workflow.add_conditional_edges( sourcen2, pathis_big_enough ) # Compile, and then run graph workflow.compile() r graph.invoke({i: 1000, j: 123}) print(r)这个 graph 的可视化执行过程最后输出{i: 11, j: 123}跟单纯写 python 程序的不同LangGraph 能够让每一个「步骤」都很复杂 引入 LLM 跟工具的处理把「流程」抽象出来 变得干净好维护。Graph 像是一个子程序在这个例子 MyState 其实是一个字典先知道这样后面有更多解释。1. Node 节点fn1 跟 fn2 两个 function因为他们由 add_node 绑在节点上 – 前面说了 Node 就是在干活可以理解为具体的打工人。何谓干活 通常是「改变 state」当然也可以是具体的某个事情比如读取文件、写文件等。def fn1(state: MyState): print(fEnter fn1: {state[i]}) return {i: 1} def fn2(state: MyState): i state[i] return {i: i1}• 想象 state 状态 是属于这个 graph 的「变量表」。•fn1先打印传入的 state; 回传{“i” 1}代表「不管 state 的 i 以前是多少现在覆盖掉变成 1• 同理fn2把 state 的 i 加上 1 以后回传代表「state 里面的 i 多加 1• 注意state[“i”]是这个 graph 里面的变数在其他节点的 function 也能存取。光是定义 function 不够还要绑到 graph 上给每个 node 一个名字workflow.add_node(n1, fn1) workflow.add_node(n2, fn2)2. Edge 边执行顺序呢 这就是 “edge” 控制了从一个点有方向地连到另一个点workflow.set_entry_point(n1) workflow.add_edge(n1, n2) workflow.add_conditional_edges( sourcen2, pathis_big_enough )•set_entry_point指定从哪个 node 开始执行•add_edge“n1” “n2”表示当 n1 执行完以后下一步就交给 n2 执行• 条件判断用.add_conditional_edges实现等价于程序里的“if”。它需要至少两个参数• source 表示起点• path 是一个 function 决定下一步给谁看他回传的字串代表哪个 node。• 示例代码中is_big_enough这个函数去看 state 变量表里的 i 有没有大于 10没有的话就回传 “n2”也就是下一棒再交给自己。 大于 10 的话就结束 ENDdef is_big_enough(state: MyState): if state[i] 10: return END else: return n2所以整个 Graph 看起来像个子程序 把 workflow 当作代码、state 当作变量表compile 编译成执行文件graph workflow.compile() r graph.invoke({i: 1000, j: 123}) print(r)• 整个 graph 需要.compile才是一个能执行的 graph。 而 Compile 之后后加的 node/edge 不会反映在上面•.invoke是输入初始的 state 去执行; 输出是最后的 state• 虽然所有节点都没碰触 j – 也就是回传的都是 partial state 但 state 的 schema 是 TypeDict 里面有定义 j所以如果初始有给 j 值也会一直保留最后的输出会有 jEnter fn1: 1000 {i: 11, j: 123}对了有没有发现 示例代码完全没 AI 模型 。LangGraph 本质上就是个 “graph processing” engine 而已!3. State 状态State是一个共享的数据结构在 graph 的节点之间传递和更新在上面的代码中我们已经看到了节点函数fn1、fn2可以读取 state 并进行修改class MyState(TypedDict): i: int j: int ... def fn2(state: MyState): i state[i] return {i: i1}核心特性State就像是一个在图中流动的数据包每个节点都可以检查它、修改它然后传递给下一个节点。这种设计让复杂的 AI 工作流变得清晰可维护。最近两年大家都可以看到AI的发展有多快我国超10亿参数的大模型在短短一年之内已经超过了100个现在还在不断的发掘中时代在瞬息万变我们又为何不给自己多一个选择多一个出路多一个可能呢与其在传统行业里停滞不前不如尝试一下新兴行业而AI大模型恰恰是这两年的大风口整体AI领域2025年预计缺口1000万人其中算法、工程应用类人才需求最为紧迫学习AI大模型是一项系统工程需要时间和持续的努力。但随着技术的发展和在线资源的丰富零基础的小白也有很好的机会逐步学习和掌握。【点击蓝字获取】【2025最新】AI大模型全套学习籽料可白嫖LLM面试题AI大模型学习路线大模型PDF书籍640套AI大模型报告等等从入门到进阶再到精通超全面存下吧