ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

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

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

文章目录

  • 1 tool_message_content参数
    • 1.1 参数含义
    • 1.2 模型初始化
    • 1.3 示例(默认情况)
    • 1.4 示例(自定义tool_message_content)
  • 2 handle_errors参数
    • 2.1 参数含义
    • 2.2 模型初始化
    • 2.3 设置为True/False/固定字符串
      • 2.3.1 handle_errors设置为True
      • 2.3.2 handle_errors设置为False
      • 2.3.3 handle_errors设置为请检查输入数据
    • 2.4 设置为指定异常类型
    • 2.5 设置为自定义错误处理函数

采用ToolStrategy策略处理结构化输出时,LangChain会在消息列表末尾追加一条Tool_message,让整个链路完整。但实际上没有实际的工具执行,这是一条伪消息。ToolStrategy通过其handle_errors参数 提供了结构化过程错误处理策略。

1 tool_message_content参数

1.1 参数含义

自定义工具消息:tool_message_content参数。
如果采用ToolStrategy策略处理结构化输出时,LangChain会在消息列表末尾追加一条Tool_message,让整个链路完整。但实际上没有实际的工具执行,这是一条伪消息。

我们可以通过ToolStrategy的tool_message_content参数定制其消息内容,将指定的内容写入对话历史的提示信息,这样做的好处如下:
(1)在最终用户可见的对话流中,使用更自然的消息替代原始数据。
(2)用简短的确认信息替代可能很长的数据块, 减少token消耗。

举例:
当不设置 tool_message_content时,模型收到的 ToolMessage里就包含了像 {‘name’: ‘张三’, ‘email’:
‘zhangsan@email.com’… …} 这样的具体数据。

当设置了tool_message_content时,模型收到的
ToolMessage只是一个预定义的确认信息,如“ 格式化输出成功!”。

这种方式节省了上下文窗口的令牌消耗,并且让对话流对最终用户

返回列表