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,