types.ContentToolResult

types.ContentToolResult()

The result of calling a tool/function

A content type representing the result of a tool function call. When a model requests a tool function, Chat will create, (optionally) echo, (optionally) yield, and store this content type in the chat history.

A tool function may also construct an instance of this class and return it. This is useful for a tool that wishes to customize how the result is handled (e.g., the format of the value sent to the model).

Parameters

Name Type Description Default
value The return value of the tool/function. required
model_format The format used for sending the value to the model. The default, "auto", first attempts to format the value as a JSON string. If that fails, it gets converted to a string via str(). To force orjson.dumps() or str(), set to "json" or "str". Finally, "as_is" is useful for doing your own formatting and/or passing a non-string value (e.g., a list or dict) straight to the model. Non-string values are useful for tools that return images or other ‘known’ non-text content types. required
error An exception that occurred while invoking the tool. If this is set, the error message sent to the model and the value is ignored. required
extra Additional data associated with the tool result that isn’t sent to the model. required
request Not intended to be used directly. It will be set when the :class:~chatlas.Chat invokes the tool. required

Note

When model_format is "json" (or "auto"), and the value has a .to_json()/.to_dict() method, those methods are called to obtain the JSON representation of the value. This is convenient for classes, like pandas.DataFrame, that have a .to_json() method, but don’t necessarily dump to JSON directly. If this happens to not be the desired behavior, set model_format="as_is" return the desired value as-is.

Methods

Name Description
get_model_value Get the actual value sent to the model.
tagify A method for rendering this object via htmltools/shiny.

get_model_value

types.ContentToolResult.get_model_value()

Get the actual value sent to the model.

tagify

types.ContentToolResult.tagify()

A method for rendering this object via htmltools/shiny.