From 9300ec103e13d56f597e82aaf930cc8ef521dad1 Mon Sep 17 00:00:00 2001 From: Joanna Ren <101223@smsassist.com> Date: Tue, 8 Oct 2024 10:43:52 -0500 Subject: [PATCH 1/3] minor fix --- .../functions/sql_dictionary_lookup.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Plugins/BotSharp.Plugin.SqlDriver/data/agents/6745151e-6d46-4a02-8de4-1c4f21c7da95/functions/sql_dictionary_lookup.json b/src/Plugins/BotSharp.Plugin.SqlDriver/data/agents/6745151e-6d46-4a02-8de4-1c4f21c7da95/functions/sql_dictionary_lookup.json index 40a86c13..66abe705 100644 --- a/src/Plugins/BotSharp.Plugin.SqlDriver/data/agents/6745151e-6d46-4a02-8de4-1c4f21c7da95/functions/sql_dictionary_lookup.json +++ b/src/Plugins/BotSharp.Plugin.SqlDriver/data/agents/6745151e-6d46-4a02-8de4-1c4f21c7da95/functions/sql_dictionary_lookup.json @@ -19,7 +19,8 @@ "type": "string", "description": "table name" } - }, + } + }, "required": [ "sql_statement", "reason", "tables" ] } } \ No newline at end of file From dce84522bf5edeca2527722707d2fcbf350b4ea8 Mon Sep 17 00:00:00 2001 From: Haiping Chen <101423@smsassist.com> Date: Tue, 8 Oct 2024 11:01:20 -0500 Subject: [PATCH 2/3] Upgrade Anthropic.SDK to v4 --- .../BotSharp.Plugin.AnthropicAI.csproj | 2 +- .../Providers/ChatCompletionProvider.cs | 15 +++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/Plugins/BotSharp.Plugin.AnthropicAI/BotSharp.Plugin.AnthropicAI.csproj b/src/Plugins/BotSharp.Plugin.AnthropicAI/BotSharp.Plugin.AnthropicAI.csproj index 5574afe5..c5bd88d0 100644 --- a/src/Plugins/BotSharp.Plugin.AnthropicAI/BotSharp.Plugin.AnthropicAI.csproj +++ b/src/Plugins/BotSharp.Plugin.AnthropicAI/BotSharp.Plugin.AnthropicAI.csproj @@ -11,7 +11,7 @@ - + diff --git a/src/Plugins/BotSharp.Plugin.AnthropicAI/Providers/ChatCompletionProvider.cs b/src/Plugins/BotSharp.Plugin.AnthropicAI/Providers/ChatCompletionProvider.cs index dc9df32a..047cc246 100644 --- a/src/Plugins/BotSharp.Plugin.AnthropicAI/Providers/ChatCompletionProvider.cs +++ b/src/Plugins/BotSharp.Plugin.AnthropicAI/Providers/ChatCompletionProvider.cs @@ -179,8 +179,15 @@ public class ChatCompletionProvider : IChatCompletion Model = settings.Name, Stream = false, Temperature = temperature, - SystemMessage = instruction, - Tools = new List() { } + Tools = new List() + }; + + if (!string.IsNullOrEmpty(instruction)) + { + parameters.System = new List() + { + new SystemMessage(instruction) + }; }; JsonSerializerOptions jsonSerializationOptions = new() @@ -221,7 +228,7 @@ public class ChatCompletionProvider : IChatCompletion private string GetPrompt(MessageParameters parameters) { - var prompt = $"{parameters.SystemMessage}\r\n"; + var prompt = $"{string.Join("\r\n", parameters.System.Select(x => x.Text))}\r\n"; prompt += "\r\n[CONVERSATION]"; var verbose = string.Join("\r\n", parameters.Messages @@ -264,7 +271,7 @@ public class ChatCompletionProvider : IChatCompletion { var functions = string.Join("\r\n", parameters.Tools.Select(x => { - return $"\r\n{x.Name}: {x.Description}\r\n{JsonSerializer.Serialize(x.Parameters)}"; + return $"\r\n{x.Function.Name}: {x.Function.Description}\r\n{JsonSerializer.Serialize(x.Function.Parameters)}"; })); prompt += $"\r\n[FUNCTIONS]\r\n{functions}\r\n"; } From b81e162bf4dd32b50bfe1297bf88410395688743 Mon Sep 17 00:00:00 2001 From: Haiping Date: Tue, 8 Oct 2024 16:49:34 +0000 Subject: [PATCH 3/3] Add template_name to states for instruction mode --- .../BotSharp.OpenAPI/Controllers/InstructModeController.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Infrastructure/BotSharp.OpenAPI/Controllers/InstructModeController.cs b/src/Infrastructure/BotSharp.OpenAPI/Controllers/InstructModeController.cs index bc02e846..61862781 100644 --- a/src/Infrastructure/BotSharp.OpenAPI/Controllers/InstructModeController.cs +++ b/src/Infrastructure/BotSharp.OpenAPI/Controllers/InstructModeController.cs @@ -29,7 +29,8 @@ public class InstructModeController : ControllerBase .SetState("model", input.Model, source: StateSource.External) .SetState("model_id", input.ModelId, source: StateSource.External) .SetState("instruction", input.Instruction, source: StateSource.External) - .SetState("input_text", input.Text,source: StateSource.External); + .SetState("input_text", input.Text, source: StateSource.External) + .SetState("template_name", input.Template, source: StateSource.External); var instructor = _services.GetRequiredService(); var result = await instructor.Execute(agentId,