langchain1.X学习笔记-28-中间件Middleware之自定义中间件(一)节点风格钩子
2026/8/25 15:52:07
网站建设
项目流程
文章目录 1 模型初始化 2 自定义中间件 2.1 hook函数(钩子函数) 2.2 LangChain的hook函数 2.2.1 类型1:Node-style hooks(节点风格钩子) 2.2.2 类型2:Wrap-style hooks(包装风格钩子) 2.2.3 功能对比 3 Node-style hooks函数用法 3.1 基本用法 3.1.1 基于装饰器实现(@before_model和@after_model) 3.1.2 基于类实现(继承AgentMiddleware并重写方法) 3.2 两种方法的统一 3.3 Node-style hooks函数参数说明 3.3.1 输入参数(state和runtime) 3.3.2 返回值(None或字典或jump_to) 3.4 装饰器参数:can_jump_to Node-style(节点式):它们是在Agent执行流程的固定节点上按顺序触发。它们不掌握模型或工具调用的控制权,不能决定模型是否被调用。它们的作用是在到达该节点时,观察状态、修改状态或进行简单的拦截跳转。
1 模型初始化 from langchain_openaiimport ChatOpenAI from dotenvimport load_dotenvimport os load_dotenv( override= True) #通过ChatOpenAI 连接模型 API_KEY= os.getenv( "API_KEY" ) BASE_URL=</