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