Skip to content

Commit 87c4734

Browse files
committed
chore: Add around tool calling execution
Signed-off-by: 虎鸣 <[email protected]>
1 parent 05529b6 commit 87c4734

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

spring-ai-model/src/main/java/org/springframework/ai/model/tool/DefaultToolCallingManager.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ private InternalToolExecutionResult executeToolCall(Prompt prompt, AssistantMess
203203

204204
String toolResult;
205205
try {
206-
toolResult = toolCallback.call(toolInputArguments, toolContext);
206+
toolResult = aroundToolCallingExecution(toolCallback, toolInputArguments, toolContext);
207207
}
208208
catch (ToolExecutionException ex) {
209209
toolResult = this.toolExecutionExceptionProcessor.process(ex);
@@ -215,6 +215,14 @@ private InternalToolExecutionResult executeToolCall(Prompt prompt, AssistantMess
215215
return new InternalToolExecutionResult(new ToolResponseMessage(toolResponses, Map.of()), returnDirect);
216216
}
217217

218+
/**
219+
* Been added to allow for custom behavior around tool execution.
220+
*/
221+
protected String aroundToolCallingExecution(ToolCallback toolCallback, String toolInputArguments,
222+
ToolContext toolContext) {
223+
return toolCallback.call(toolInputArguments, toolContext);
224+
}
225+
218226
private List<Message> buildConversationHistoryAfterToolExecution(List<Message> previousMessages,
219227
AssistantMessage assistantMessage, ToolResponseMessage toolResponseMessage) {
220228
List<Message> messages = new ArrayList<>(previousMessages);

0 commit comments

Comments
 (0)