langchain1.X学习笔记-17-智能体高级用法之详解ToolStrategy策略的schema参数

📅 2026/8/8 11:28:44
langchain1.X学习笔记-17-智能体高级用法之详解ToolStrategy策略的schema参数
文章目录1 ToolStrategy使用详解1.1 模型初始化1.2 定义工具2 结构化输出:schema参数2.1 输出模式1:Pydantic类型2.1.1 示例一2.1.2 示例二2.2 输出模式2:TypedDict类型2.2.1 示例一2.2.2 示例二2.3 输出模式3:JsonSchema类型2.3.1 示例一2.3.2 示例二2.4 输出模式4:@dataclass类型2.4.1 示例一2.4.2 示例二2.5 多schema联合模式schema参数支持Pydantic模型、TypedDict 、 JSON Schema、 数据类(@dataclass) ,同时还支持联合类型Union[类型1, 类型2] (允许模型根据输入内容选择最匹配的数据结构)。1 ToolStrategy使用详解ToolStrategy通过工具调用(Tool Calling/Function Calling)实现结构化输出,所以LangChain会在消息列表末尾追加一条ToolMessage ,让整个链路完整。但实际上没有实际的工具执行,这是一条伪消息。ToolStrategy适用于任何支持工具调用的现代模型。ToolStrategy的配置包含三个主要参数:(1)schema(必需参数):与提供商策略的schema参数功能一致,支持Pydantic模型、TypedDict 、 JSON Schema、 数据类(@dataclass) ,同时还支持联合类型Union[类型1, 类型2] (允许模型根据输入内容选择最匹配的数据结构)。(2)tool_message_content(可选参数):用于自定义生成结构化输出时,会话历史中记录的提示信息。默认使用展示输出数据的标准响应语句。(3)handle_errors(可选参数):用于指定数据校验失败时