pregel

JaydenAI7 天前
ai·langchain·agent·pregel
[拆解LangChain执行引擎]一个实例理解LangChain的几种流模式invoke/ainvoke方法看起来是采用简单的请求/回复消息交换模式,客户端需等待整个流程执行完毕后才能得到结果,其实方法背后还是会调用stream/astream方法以流的方式进行交互。如果我们直接调用调用这两个方法,并采用相应的流模式,我们就能有效解决客户端长时间无响应的问题,实时地得到对方的反馈。
JaydenAI10 天前
ai·langchain·agent·pregel
[拆解LangChain执行引擎]梳理Agent的执行流程到目前为止,我们已经大体了解Pregel的invoke/ainvoke方法在背后都做了什么。接下来我们分两种情况简单梳理一下Pregel对象的执行的大体流程,这也是我们创建的Agent的执行流程。具体执行场景分两种, 一种是指定输入从头开始的常规调用,另一种是针对某个Checkpoint的恢复调用。
JaydenAI14 天前
ai·langchain·agent·pregel
[拆解LangChain执行引擎]持久化状态的提取前面以写入的角度介绍了BaseCheckpointSaver的put/aput和put_writes/aput_writes方法,它们分别实现了基于Checkpoint和Pending Write的持久化。对于一个已经完成的Superstep来说,对应 Checkpoint就代表了它的状态;但是对于一个因中断尚未完成的Superstep,某个时刻的状态由上一Superstep的Checkpoint和当前Superstep的所有Pending Write来描述。如果真的需要恢复到中断时的状态,需要在Chec
JaydenAI15 天前
ai·langchain·agent·pregel
[拆解LangChain执行引擎]基于Checkpoint的持久化Pregel基于Checkpoint的持久化机制是实现Agent应用高可用性和长期记忆的基础,它本质上是将 不断向前推进的图在“Superstep”之间将其状态固化的过程。和很多数据库持久化类似,Pregel采用基于全量数据的状态快照+基于增量更新的操作日志的持久化策略。
JaydenAI16 天前
ai·langchain·agent·pregel
[拆解LangChain执行引擎]静态上下文在Pregel中的应用在 Pregel 模型中,静态上下文是一个专门设计的依赖注入容器。它的出现是为了解决在复杂的图计算中,如何优雅地处理“不属于图状态,但Node运行又必须依赖的外部环境信息”这一痛点。这些数据具有一个共同的性质,那就是在整个运行生命周期内只读且固定,比如:
JaydenAI20 天前
ai·langchain·agent·pregel
[拆解LangChain执行引擎] __pregel_tasks通道——成就“PUSH任务”的功臣除了我们显式声明的用于存储业务数据或驱动信号的Channel之外,Pregel自身也会维护一些系统Channel,其中最重要的莫过于一个名为__pregel_tasks的Channel。通过前面针对BSP的介绍,我们知道当Superstep进入同步屏障并应用所有更新后,引擎会根据Node针对Channel的订阅情况和Channel自身的更新状态生成下一步待执行的任务,其实待执行的任务不限于此。
JaydenAI21 天前
ai·langchain·agent·channel·pregel
[拆解LangChain执行引擎] Channel——驱动Node执行的原力Pregel由Node和Channel这两个核心部件组成,Channel不仅维护了整个图的状态,还是驱动Node执行的 “原力” 。在前面演示的一系列实例中,我们已经使用了三种Channel类型,包括频繁使用的LastValue,能够将所有添加的值保留下来的BinaryOperatorAggregate,以及帮助我们轻松解决多Node依赖问题的NamedBarrierValue。为什么Channel有这么多类型,我们应该在何种场景中使用何种类型的Channel,要回答这个问题,就无法回避(BSP:Bulk
JaydenAI22 天前
ai·langchain·agent·pregel
[拆解LangChain执行引擎]以Actor模型的视角来看Pregel经过这些年的蓬勃发展,市面上已经涌现出了太多AI Agent的开发平台、框架和工具,但是毫无疑问,其中集大成者首推LangChain。利用LangChain开发的Agent可以看成是一个具有状态的、由Node和Edge组成的有环图(Circle Graph) 。Agent的内部循环被 “展开” 并映射到了 LangGraph的StateGraph体现的拓扑结构中,后者经过编译的结果实际上是一个Pregel对象,这是一个由Node和Channel构成的Actor模型。换句话说,Agent最终是以一个Preg
我是有底线的