Class FunctionToolCallback<I,O>
java.lang.Object
org.springframework.ai.tool.function.FunctionToolCallback<I,O>
- All Implemented Interfaces:
FunctionCallback,ToolCallback
A
ToolCallback implementation to invoke functions as tools.- Since:
- 1.0.0
- Author:
- Thomas Vitale
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface org.springframework.ai.model.function.FunctionCallback
FunctionCallback.CommonCallbackInvokingSpec<B extends FunctionCallback.CommonCallbackInvokingSpec<B>>, FunctionCallback.FunctionInvokingSpec<I,O>, FunctionCallback.MethodInvokingSpec, FunctionCallback.SchemaType -
Constructor Summary
ConstructorsConstructorDescriptionFunctionToolCallback(ToolDefinition toolDefinition, ToolMetadata toolMetadata, Type toolInputType, BiFunction<I, ToolContext, O> toolFunction, ToolCallResultConverter toolCallResultConverter) -
Method Summary
Modifier and TypeMethodDescriptionstatic <I,O> FunctionToolCallback.Builder<I, O> builder(String name, BiFunction<I, ToolContext, O> function) Build aFunctionToolCallbackfrom aBiFunction.static <I> FunctionToolCallback.Builder<I,Void> Build aFunctionToolCallbackfrom aConsumer.static <I,O> FunctionToolCallback.Builder<I, O> Build aFunctionToolCallbackfrom aFunction.static <O> FunctionToolCallback.Builder<Void,O> Build aFunctionToolCallbackfrom aSupplier.Execute tool with the given input and return the result to send back to the AI model.call(String toolInput, ToolContext toolContext) Execute tool with the given input and context, and return the result to send back to the AI model.Definition used by the AI model to determine when and how to call the tool.Metadata providing additional information on how to handle the tool.toString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.ai.tool.ToolCallback
getDescription, getInputTypeSchema, getName
-
Constructor Details
-
FunctionToolCallback
public FunctionToolCallback(ToolDefinition toolDefinition, @Nullable ToolMetadata toolMetadata, Type toolInputType, BiFunction<I, ToolContext, O> toolFunction, @Nullable ToolCallResultConverter toolCallResultConverter)
-
-
Method Details
-
getToolDefinition
Description copied from interface:ToolCallbackDefinition used by the AI model to determine when and how to call the tool.- Specified by:
getToolDefinitionin interfaceToolCallback
-
getToolMetadata
Description copied from interface:ToolCallbackMetadata providing additional information on how to handle the tool.- Specified by:
getToolMetadatain interfaceToolCallback
-
call
Description copied from interface:ToolCallbackExecute tool with the given input and return the result to send back to the AI model.- Specified by:
callin interfaceFunctionCallback- Specified by:
callin interfaceToolCallback- Parameters:
toolInput- JSON string with the function arguments to be passed to the function. The arguments are defined as JSON schema usually registered with the model.- Returns:
- String containing the function call response.
-
call
Description copied from interface:ToolCallbackExecute tool with the given input and context, and return the result to send back to the AI model.- Specified by:
callin interfaceFunctionCallback- Specified by:
callin interfaceToolCallback- Parameters:
toolInput- JSON string with the function arguments to be passed to the function. The arguments are defined as JSON schema usually registered with the model. Arguments are provided by the AI model.toolContext- Map with the function context. The context is used to pass additional user provided state in addition to the arguments provided by the AI model.- Returns:
- String containing the function call response.
-
toString
-
builder
public static <I,O> FunctionToolCallback.Builder<I,O> builder(String name, BiFunction<I, ToolContext, O> function) Build aFunctionToolCallbackfrom aBiFunction. -
builder
Build aFunctionToolCallbackfrom aFunction. -
builder
Build aFunctionToolCallbackfrom aSupplier. -
builder
Build aFunctionToolCallbackfrom aConsumer.
-