Skip to content

Commit d91a552

Browse files
author
Jicheng Lu
committed
refine tool call and response
1 parent a4d4f28 commit d91a552

File tree

4 files changed

+8
-5
lines changed

4 files changed

+8
-5
lines changed

src/Plugins/BotSharp.Plugin.AzureOpenAI/Providers/Chat/ChatCompletionProvider.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -305,10 +305,10 @@ await onMessageReceived(new RoleDialogModel(choice.Role?.ToString() ?? ChatMessa
305305
{
306306
messages.Add(new AssistantChatMessage(new List<ChatToolCall>
307307
{
308-
ChatToolCall.CreateFunctionToolCall(message.FunctionName, message.FunctionName, BinaryData.FromString(message.FunctionArgs ?? string.Empty))
308+
ChatToolCall.CreateFunctionToolCall(message.ToolCallId ?? message.FunctionName, message.FunctionName, BinaryData.FromString(message.FunctionArgs ?? "{}"))
309309
}));
310310

311-
messages.Add(new ToolChatMessage(message.FunctionName, message.Content));
311+
messages.Add(new ToolChatMessage(message.ToolCallId ?? message.FunctionName, message.Content));
312312
}
313313
else if (message.Role == AgentRole.User)
314314
{

src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Chat/GeminiChatCompletionProvider.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,7 @@ public void SetModelName(string model)
271271
{
272272
FunctionCall = new FunctionCall
273273
{
274+
Id = message.ToolCallId,
274275
Name = message.FunctionName,
275276
Args = JsonNode.Parse(message.FunctionArgs ?? "{}")
276277
}
@@ -282,6 +283,7 @@ public void SetModelName(string model)
282283
{
283284
FunctionResponse = new FunctionResponse
284285
{
286+
Id = message.ToolCallId,
285287
Name = message.FunctionName,
286288
Response = new JsonObject()
287289
{

src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Realtime/RealTimeCompletionProvider.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -512,6 +512,7 @@ await hook.AfterGenerated(new RoleDialogModel(AgentRole.Assistant, text)
512512
{
513513
FunctionCall = new FunctionCall
514514
{
515+
Id = message.ToolCallId,
515516
Name = message.FunctionName,
516517
Args = JsonNode.Parse(message.FunctionArgs ?? "{}")
517518
}
@@ -523,6 +524,7 @@ await hook.AfterGenerated(new RoleDialogModel(AgentRole.Assistant, text)
523524
{
524525
FunctionResponse = new FunctionResponse
525526
{
527+
Id = message.ToolCallId,
526528
Name = message.FunctionName ?? string.Empty,
527529
Response = new JsonObject()
528530
{

src/Plugins/BotSharp.Plugin.OpenAI/Providers/Chat/ChatCompletionProvider.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
using BotSharp.Abstraction.Agents.Models;
21
using BotSharp.Abstraction.Hooks;
32
using OpenAI.Chat;
43

@@ -273,10 +272,10 @@ await onMessageReceived(new RoleDialogModel(choice.Role?.ToString() ?? ChatMessa
273272
{
274273
messages.Add(new AssistantChatMessage(new List<ChatToolCall>
275274
{
276-
ChatToolCall.CreateFunctionToolCall(message.FunctionName, message.FunctionName, BinaryData.FromString(message.FunctionArgs ?? string.Empty))
275+
ChatToolCall.CreateFunctionToolCall(message.ToolCallId ?? message.FunctionName, message.FunctionName, BinaryData.FromString(message.FunctionArgs ?? "{}"))
277276
}));
278277

279-
messages.Add(new ToolChatMessage(message.FunctionName, message.Content));
278+
messages.Add(new ToolChatMessage(message.ToolCallId ?? message.FunctionName, message.Content));
280279
}
281280
else if (message.Role == AgentRole.User)
282281
{

0 commit comments

Comments
 (0)