如果采用ToolStrategy策略处理结构化输出时,LangChain会在消息列表末尾追加一条Tool_message,让整个链路完整。但实际上没有实际的工具执行,这是一条伪消息。
我们可以通过ToolStrategy的 tool_message_content 参数定制其消息内容,将指定的内容写入对话历史的提示信息,这样做的好处如下:
- 在最终用户可见的对话流中,使用更自然的消息替代原始数据。
- 用简短的确认信息替代可能很长的数据块, 减少token消耗。
举例:
当不设置 tool_message_content时,模型收到的 ToolMessage里就包含了像 {‘name’: ‘张三’, ’email’:’zhangsan@email.com‘… …} 这样的具体数据。当设置了tool_message_content时,模型收到的
ToolMessage只是一个预定义的确认信息,如“ 格式化输出成功! ”。这种方式节省了上下文窗口的令牌消耗,并且让对话流对最终用户更友好。
说明: 无论 tool_message_content如何设置,成功提取的结构化数据最终都会正确存入result[“structured_response”] 返回,自定义消息仅影响对话历史中的一条记录。
举例:
默认情况
![图片[1]-7.3.2 自定义工具消息:tool_message_content参数-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-860.png)
自定义tool_message_content
![图片[2]-7.3.2 自定义工具消息:tool_message_content参数-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-861.png)
![图片[3]-7.3.2 自定义工具消息:tool_message_content参数-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-862.png)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END

















请登录后查看评论内容