langchain_core.messages.tool.ToolMessage

class langchain_core.messages.tool.ToolMessage[source]

Bases: BaseMessage

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

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

示例:表示工具调用 id 返回结果 42 的 ToolMessage

from langchain_core.messages import ToolMessage

ToolMessage(content='42', tool_call_id='call_Jja7J89XsjrOLA5r!MEOW!SL')
示例:只有部分工具输出发送至模型的 ToolMessage

整个输出传递到 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 字段将工具调用请求与工具调用响应关联起来。这在聊天模型能够并行请求多个工具调用的情况下很有用。

作为位置参数传入内容。

参数
  • content - 消息的字符串内容。

  • kwargs - 传递给消息的额外字段

param additional_kwargs: dict [可选]

保留用于与消息关联的附加有效负载数据。

例如,对于来自 AI 的消息,这可能包括模型提供者编码的工具调用。

param artifact: Any = None

工具执行的产物,不适合发送给模型。

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

自版本 0.2.17 新增。

param content: Union[str, List[Union[str, Dict]]] [必备]

消息的字符串内容。

param id: Optional[str] = None

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

param name: Optional[str] = None

消息的可选名称。

可以用作提供消息的人类可读名称。

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

参数 response_metadata: dict [可选]

响应元数据。例如:响应头信息、对数概率、token计数。

参数 status: Literal['success', 'error'] = 'success'

工具调用的状态。

自版本 0.2.24 新增。

参数 tool_call_id: str [必填]

此消息所响应的工具调用。

参数 type: Literal['tool'] = 'tool'

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

pretty_print() None
返回类型

None

pretty_repr(html: bool = False) str

获取消息的格式化表示。

参数

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

返回

消息的格式化表示。

返回类型

str

示例使用 ToolMessage