From 28e15b4b98364280df57c2ab18a0aeaecfb71d84 Mon Sep 17 00:00:00 2001 From: Jicheng Lu <103353@smsassist.com> Date: Thu, 17 Oct 2024 13:16:31 -0500 Subject: [PATCH] change terms --- .../Functions/PrimaryStagePlanFn.cs | 11 ++++++---- .../Functions/SecondaryStagePlanFn.cs | 20 ++++++++++--------- .../Functions/SummaryPlanFn.cs | 13 ++++++------ .../BotSharp.Plugin.SqlDriver.csproj | 8 ++++---- ...ictionaryFn.cs => VerifyDictionaryTerm.cs} | 7 +++++-- ...ookup.json => verify_dictionary_term.json} | 0 ...iquid => verify_dictionary_term.fn.liquid} | 0 7 files changed, 34 insertions(+), 25 deletions(-) rename src/Plugins/BotSharp.Plugin.SqlDriver/Functions/{LookupDictionaryFn.cs => VerifyDictionaryTerm.cs} (96%) rename src/Plugins/BotSharp.Plugin.SqlDriver/data/agents/6745151e-6d46-4a02-8de4-1c4f21c7da95/functions/{sql_dictionary_lookup.json => verify_dictionary_term.json} (100%) rename src/Plugins/BotSharp.Plugin.SqlDriver/data/agents/6745151e-6d46-4a02-8de4-1c4f21c7da95/templates/{sql_dictionary_lookup.fn.liquid => verify_dictionary_term.fn.liquid} (100%) diff --git a/src/Plugins/BotSharp.Plugin.Planner/Functions/PrimaryStagePlanFn.cs b/src/Plugins/BotSharp.Plugin.Planner/Functions/PrimaryStagePlanFn.cs index f854a51d..5cf4f4f7 100644 --- a/src/Plugins/BotSharp.Plugin.Planner/Functions/PrimaryStagePlanFn.cs +++ b/src/Plugins/BotSharp.Plugin.Planner/Functions/PrimaryStagePlanFn.cs @@ -6,10 +6,13 @@ public class PrimaryStagePlanFn : IFunctionCallback { public string Name => "plan_primary_stage"; public string Indication => "Currently analyzing and breaking down user requirements."; + private readonly IServiceProvider _services; private readonly ILogger _logger; - public PrimaryStagePlanFn(IServiceProvider services, ILogger logger) + public PrimaryStagePlanFn( + IServiceProvider services, + ILogger logger) { _services = services; _logger = logger; @@ -38,12 +41,12 @@ public class PrimaryStagePlanFn : IFunctionCallback // Get first stage planning prompt var currentAgent = await agentService.LoadAgent(message.CurrentAgentId); - var firstPlanningPrompt = await GetFirstStagePlanPrompt(message, task.Requirements, knowledges); + var prompt = await GetFirstStagePlanPrompt(message, task.Requirements, knowledges); var plannerAgent = new Agent { Id = BuiltInAgentId.Planner, - Name = "planning_1st", - Instruction = firstPlanningPrompt, + Name = "FirstStagePlanner", + Instruction = prompt, TemplateDict = new Dictionary(), LlmConfig = currentAgent.LlmConfig }; diff --git a/src/Plugins/BotSharp.Plugin.Planner/Functions/SecondaryStagePlanFn.cs b/src/Plugins/BotSharp.Plugin.Planner/Functions/SecondaryStagePlanFn.cs index e228d607..8279f7e2 100644 --- a/src/Plugins/BotSharp.Plugin.Planner/Functions/SecondaryStagePlanFn.cs +++ b/src/Plugins/BotSharp.Plugin.Planner/Functions/SecondaryStagePlanFn.cs @@ -1,5 +1,4 @@ using BotSharp.Plugin.Planner.TwoStaging.Models; -using System.Threading.Tasks; namespace BotSharp.Plugin.Planner.Functions; @@ -7,10 +6,13 @@ public class SecondaryStagePlanFn : IFunctionCallback { public string Name => "plan_secondary_stage"; public string Indication => "Further analyzing and breaking down user sub-needs."; + private readonly IServiceProvider _services; private readonly ILogger _logger; - public SecondaryStagePlanFn(IServiceProvider services, ILogger logger) + public SecondaryStagePlanFn( + IServiceProvider services, + ILogger logger) { _services = services; _logger = logger; @@ -25,7 +27,7 @@ public class SecondaryStagePlanFn : IFunctionCallback var msgSecondary = RoleDialogModel.From(message); var collectionName = knowledgeSettings.Default.CollectionName; - var planPrimary = states.GetState("planning_result"); + var planResult = states.GetState("planning_result"); var taskSecondary = JsonSerializer.Deserialize(msgSecondary.FunctionArgs); @@ -43,14 +45,14 @@ public class SecondaryStagePlanFn : IFunctionCallback // Get second stage planning prompt var currentAgent = await agentService.LoadAgent(message.CurrentAgentId); - var secondPlanningPrompt = await GetSecondStagePlanPrompt(taskSecondary.TaskDescription, planPrimary, knowledgeResults, message); - _logger.LogInformation(secondPlanningPrompt); + var prompt = await GetSecondStagePlanPrompt(taskSecondary.TaskDescription, planResult, knowledgeResults, message); + _logger.LogInformation(prompt); var plannerAgent = new Agent { Id = BuiltInAgentId.Planner, - Name = "planning_2nd", - Instruction = secondPlanningPrompt, + Name = "SecondStagePlanner", + Instruction = prompt, TemplateDict = new Dictionary(), LlmConfig = currentAgent.LlmConfig }; @@ -63,7 +65,7 @@ public class SecondaryStagePlanFn : IFunctionCallback return true; } - private async Task GetSecondStagePlanPrompt(string taskDescription, string planPrimary, string knowledgeResults, RoleDialogModel message) + private async Task GetSecondStagePlanPrompt(string taskDescription, string planResult, string knowledgeResults, RoleDialogModel message) { var agentService = _services.GetRequiredService(); var render = _services.GetRequiredService(); @@ -79,7 +81,7 @@ public class SecondaryStagePlanFn : IFunctionCallback return render.Render(template, new Dictionary { { "task_description", taskDescription }, - { "primary_plan", planPrimary }, + { "primary_plan", planResult }, { "additional_knowledge", knowledgeResults }, { "response_format", responseFormat } }); diff --git a/src/Plugins/BotSharp.Plugin.Planner/Functions/SummaryPlanFn.cs b/src/Plugins/BotSharp.Plugin.Planner/Functions/SummaryPlanFn.cs index e08e6f6f..ef634392 100644 --- a/src/Plugins/BotSharp.Plugin.Planner/Functions/SummaryPlanFn.cs +++ b/src/Plugins/BotSharp.Plugin.Planner/Functions/SummaryPlanFn.cs @@ -8,6 +8,7 @@ public class SummaryPlanFn : IFunctionCallback { public string Name => "plan_summary"; public string Indication => "Organizing and summarizing the final output results."; + private readonly IServiceProvider _services; private readonly ILogger _logger; @@ -34,7 +35,7 @@ public class SummaryPlanFn : IFunctionCallback var steps = states.GetState("planning_result").JsonArrayContent(); var allTables = new List(); var ddlStatements = string.Empty; - var relevantKnowledge = states.GetState("planning_result"); + var planResult = states.GetState("planning_result"); var dictionaryItems = states.GetState("dictionary_items"); var excelImportResult = states.GetState("excel_import_result"); @@ -53,14 +54,14 @@ public class SummaryPlanFn : IFunctionCallback ddlStatements += "\r\n" + msgCopy.Content; // Summarize and generate query - var summaryPlanPrompt = await GetSummaryPlanPrompt(msgCopy, taskRequirement, relevantKnowledge, dictionaryItems, ddlStatements, excelImportResult); - _logger.LogInformation($"Summary plan prompt:\r\n{summaryPlanPrompt}"); + var prompt = await GetSummaryPlanPrompt(msgCopy, taskRequirement, planResult, dictionaryItems, ddlStatements, excelImportResult); + _logger.LogInformation($"Summary plan prompt:\r\n{prompt}"); var plannerAgent = new Agent { Id = BuiltInAgentId.Planner, - Name = "Planner Summary", - Instruction = summaryPlanPrompt, + Name = "SummaryPlanner", + Instruction = prompt, LlmConfig = currentAgent.LlmConfig }; @@ -105,7 +106,7 @@ public class SummaryPlanFn : IFunctionCallback { "relevant_knowledges", relevantKnowledge }, { "dictionary_items", dictionaryItems }, { "table_structure", ddlStatement }, - { "excel_import_result",excelImportResult } + { "excel_import_result", excelImportResult } }); } private async Task GetAiResponse(Agent plannerAgent) diff --git a/src/Plugins/BotSharp.Plugin.SqlDriver/BotSharp.Plugin.SqlDriver.csproj b/src/Plugins/BotSharp.Plugin.SqlDriver/BotSharp.Plugin.SqlDriver.csproj index d4d0a243..c0b755f6 100644 --- a/src/Plugins/BotSharp.Plugin.SqlDriver/BotSharp.Plugin.SqlDriver.csproj +++ b/src/Plugins/BotSharp.Plugin.SqlDriver/BotSharp.Plugin.SqlDriver.csproj @@ -17,12 +17,12 @@ - - + + @@ -37,10 +37,10 @@ PreserveNewest - + PreserveNewest - + PreserveNewest diff --git a/src/Plugins/BotSharp.Plugin.SqlDriver/Functions/LookupDictionaryFn.cs b/src/Plugins/BotSharp.Plugin.SqlDriver/Functions/VerifyDictionaryTerm.cs similarity index 96% rename from src/Plugins/BotSharp.Plugin.SqlDriver/Functions/LookupDictionaryFn.cs rename to src/Plugins/BotSharp.Plugin.SqlDriver/Functions/VerifyDictionaryTerm.cs index c94c12db..134ef8e4 100644 --- a/src/Plugins/BotSharp.Plugin.SqlDriver/Functions/LookupDictionaryFn.cs +++ b/src/Plugins/BotSharp.Plugin.SqlDriver/Functions/VerifyDictionaryTerm.cs @@ -7,12 +7,15 @@ using static Dapper.SqlMapper; namespace BotSharp.Plugin.SqlDriver.Functions; -public class LookupDictionaryFn : IFunctionCallback +public class VerifyDictionaryTerm : IFunctionCallback { public string Name => "verify_dictionary_term"; + public string Indication => "Verifying dictionary term"; + + private readonly IServiceProvider _services; - public LookupDictionaryFn(IServiceProvider services) + public VerifyDictionaryTerm(IServiceProvider services) { _services = services; } 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/verify_dictionary_term.json similarity index 100% rename from src/Plugins/BotSharp.Plugin.SqlDriver/data/agents/6745151e-6d46-4a02-8de4-1c4f21c7da95/functions/sql_dictionary_lookup.json rename to src/Plugins/BotSharp.Plugin.SqlDriver/data/agents/6745151e-6d46-4a02-8de4-1c4f21c7da95/functions/verify_dictionary_term.json diff --git a/src/Plugins/BotSharp.Plugin.SqlDriver/data/agents/6745151e-6d46-4a02-8de4-1c4f21c7da95/templates/sql_dictionary_lookup.fn.liquid b/src/Plugins/BotSharp.Plugin.SqlDriver/data/agents/6745151e-6d46-4a02-8de4-1c4f21c7da95/templates/verify_dictionary_term.fn.liquid similarity index 100% rename from src/Plugins/BotSharp.Plugin.SqlDriver/data/agents/6745151e-6d46-4a02-8de4-1c4f21c7da95/templates/sql_dictionary_lookup.fn.liquid rename to src/Plugins/BotSharp.Plugin.SqlDriver/data/agents/6745151e-6d46-4a02-8de4-1c4f21c7da95/templates/verify_dictionary_term.fn.liquid