目录
一、前言
二、Langchain 自定义中间件介绍
2.1 为什么需要自定义中间件
2.2 自定义中间件优势
2.3 hook函数(钩子函数) 介绍
2.3.1 钩子函数特点
2.3.2 LangChain的hook函数分类
三、自定义中间件使用
3.1 Node-style hooks 函数用法
3.1.1 基于装饰器的实现
3.1.2 基于类的实现
3.1.3 核心参数说明
3.1.4 返回值说明
3.1.5 装饰器参数 can_jump_to
3.2 Wrap-style hooks函数用法
3.2.1 wrap_model_call 使用
3.2.2 wrap_tool_call 使用
3.2.3 两种方法的统一
3.2.4 参数说明
3.3 装饰器和类的选择
3.4 hook函数执行顺序
四、写在文末
一、前言
LangChain 的自定义中间件(Custom Middleware)允许你在智能体执行的关键节点插入自己的逻辑,实现对模型调用、工具调用和生命周期的精细控制,而无需修改智能体核心代码。它本质上是一个钩子(Hook)系统,让你能在智能体循环的“之前”和“之后”做文章。