Class DefaultToolExecutor
java.lang.Object
dev.langchain4j.service.tool.DefaultToolExecutor
- All Implemented Interfaces:
ToolExecutor
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionDefaultToolExecutor(Object object, ToolExecutionRequest toolExecutionRequest) DefaultToolExecutor(Object object, Method method) DefaultToolExecutor(Object object, Method originalMethod, Method methodToInvoke) When methods annotated with @Tool are wrapped into proxies (AOP), the parameters of the proxied method do not retain their original names. -
Method Summary
Modifier and TypeMethodDescriptionstatic DefaultToolExecutor.Builderbuilder()execute(ToolExecutionRequest request, Object memoryId) Executes a tool request.executeWithContext(ToolExecutionRequest request, InvocationContext context) Executes a tool request.static longgetBoundedLongValue(Object argument, String parameterName, Class<?> parameterType, long minValue, long maxValue)
-
Constructor Details
-
DefaultToolExecutor
-
DefaultToolExecutor
-
DefaultToolExecutor
-
DefaultToolExecutor
When methods annotated with @Tool are wrapped into proxies (AOP), the parameters of the proxied method do not retain their original names. Therefore, access to the original method is required to retrieve those names.- Parameters:
object- the object on which the method should be invokedoriginalMethod- the original method, used to retrieve parameter names and prepare argumentsmethodToInvoke- the method that should actually be invoked
-
-
Method Details
-
executeWithContext
public ToolExecutionResult executeWithContext(ToolExecutionRequest request, InvocationContext context) Description copied from interface:ToolExecutorExecutes a tool request. Override this method if you wish to:- access the
InvocationParameterswhen passing extra data into the tool - propagate the tool result object (ToolExecutionResult.result()) into theToolExecution- Specified by:
executeWithContextin interfaceToolExecutor- Parameters:
request- The tool execution request. Contains tool name and arguments.context- The AI Service invocation context, containsChatMemoryID (seeMemoryIdfor more details), andInvocationParameters.- Returns:
- The result of the tool execution that will be sent to the LLM.
-
execute
Description copied from interface:ToolExecutorExecutes a tool request.- Specified by:
executein interfaceToolExecutor- Parameters:
request- The tool execution request. Contains tool name and arguments.memoryId- The ID of the chat memory. .- Returns:
- The result of the tool execution that will be sent to the LLM.
-
getBoundedLongValue
-
builder
-