工具消息#

class langchain_core.messages.tool.ToolMessage[源代码]#

基础类: BaseMessage, ToolOutputMixin

用于将工具执行结果传递回模型的消息。

工具消息包含工具调用的结果。通常,结果编码在content字段中。

示例:一个ToolMessage,表示来自id为42的工具调用的结果

from langchain_core.messages import ToolMessage

ToolMessage(content='42', tool_call_id='call_Jja7J89XsjrOLA5r!MEOW!SL')
Example: A ToolMessage where only part of the tool output is sent to the model

并且完整的输出被传递到artifact中。

在版本0.2.17中添加。

from langchain_core.messages import ToolMessage

tool_output = {
    "stdout": "From the graph we can see that the correlation between x and y is ...",
    "stderr": None,
    "artifacts": {"type": "image", "base64_data": "/9j/4gIcSU..."},
}

ToolMessage(
    content=tool_output["stdout"],
    artifact=tool_output,
    tool_call_id='call_Jja7J89XsjrOLA5r!MEOW!SL',
)

tool_call_id 字段用于将工具调用请求与工具调用响应关联起来。这在聊天模型能够并行请求多个工具调用的情况下非常有用。

将内容作为位置参数传入。

Parameters:
  • content – 消息的字符串内容。

  • kwargs – 传递给的其他字段

param additional_kwargs: dict [Optional]#

目前继承自BaseMessage,但未使用。

param artifact: Any = None#

工具执行的产物,不打算发送给模型。

仅当它与消息内容不同时才应指定,例如,如果仅将完整工具输出的子集作为消息内容传递,但在代码的其他部分需要完整输出。

在版本0.2.17中添加。

param content: str | list[str | dict] [Required]#

消息的字符串内容。

param id: str | None = None#

消息的可选唯一标识符。理想情况下,这应该由创建消息的提供者/模型提供。

param name: str | None = None#

消息的可选名称。

这可以用于为消息提供一个人类可读的名称。

此字段的使用是可选的,是否使用取决于模型实现。

param response_metadata: dict [Optional]#

目前继承自BaseMessage,但未使用。

param status: Literal['success', 'error'] = 'success'#

工具调用的状态。

在版本0.2.24中添加。

param tool_call_id: str [Required]#

此消息正在响应的工具调用。

param type: Literal['tool'] = 'tool'#

消息的类型(用于序列化)。默认为“tool”。

pretty_print() None#
Return type:

pretty_repr(html: bool = False) str#

获取消息的漂亮表示。

Parameters:

html (bool) – 是否将消息格式化为HTML。如果为True,消息将使用HTML标签进行格式化。默认为False。

Returns:

消息的漂亮表示。

Return type:

字符串

使用 ToolMessage 的示例