From 0ef474aea5dc8c430596b796c1097686f9af5e7b Mon Sep 17 00:00:00 2001 From: Jicheng Lu <103353@smsassist.com> Date: Wed, 18 Jun 2025 16:45:42 -0500 Subject: [PATCH] get toolcall id --- .../Providers/Chat/ChatCompletionProvider.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Chat/ChatCompletionProvider.cs b/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Chat/ChatCompletionProvider.cs index 8643ebc2..f9b7df13 100644 --- a/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Chat/ChatCompletionProvider.cs +++ b/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Chat/ChatCompletionProvider.cs @@ -216,11 +216,13 @@ public class ChatCompletionProvider : IChatCompletion if (choice.FinishReason == ChatFinishReason.FunctionCall || choice.FinishReason == ChatFinishReason.ToolCalls) { - var functionName = toolCalls.FirstOrDefault(x => !string.IsNullOrEmpty(x.FunctionName))?.FunctionName; + var meta = toolCalls.FirstOrDefault(x => !string.IsNullOrEmpty(x.FunctionName)); + var functionName = meta?.FunctionName; + var toolCallId = meta?.ToolCallId; var args = toolCalls.Where(x => x.FunctionArgumentsUpdate != null).Select(x => x.FunctionArgumentsUpdate.ToString()).ToList(); var functionArgument = string.Join(string.Empty, args); - _logger.LogCritical($"Tool Call: {functionName}({functionArgument})"); + _logger.LogCritical($"Tool Call (id: {toolCallId}) => {functionName}({functionArgument})"); } else if (!choice.ContentUpdate.IsNullOrEmpty()) {