工具消息#
- 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 的示例