Tool
Base class representing a tool that can be invoked by the LLM. Tools are usually used to return results, make changes to the environment, or perform other actions.
Parameters
The type of arguments the tool accepts.
The type of result the tool returns. Provides a textual explanation of what the tool does and how it can be used (for the LLM).
Inheritors
Constructors
Convenience constructor for the base tool class that generates ToolDescriptor from the provided name, description and argsSerializer using asToolDescriptor
Types
Properties
A KSerializer responsible for encoding and decoding the arguments required for the tool execution.
A ToolDescriptor representing the tool's schema, including its name, description, and parameters.
The name of the tool from the descriptor
A KSerializer responsible for encoding and decoding the result returned by the tool execution.
Functions
Decodes the provided raw JSON arguments into an instance of the specified arguments type.
Decodes the provided raw JSON element into an instance of the specified result type.
Encodes the given arguments into a JSON representation.
Encodes the provided arguments into a JSON string representation using the configured serializer.
Encodes the provided arguments into a JSON string representation without type safety checks.
Encodes the given arguments into a JSON representation without type safety checks.
Encodes the given result into a JSON representation using the configured result serializer.
Encodes the given result of type TResult to its string representation for the LLM.s
Encodes the provided result object into a JSON string representation without type safety checks.
Encodes the given result object into a JSON representation without type safety checks. This method casts the provided result to the expected TResult type and leverages the encodeResult method to produce the JSON output.