BotSharp/src/Plugins/BotSharp.Plugin.Planner/SqlGeneration/Hooks/SqlPlannerAgentHook.cs

31 lines
918 B
C#
Raw Normal View History

2025-01-18 04:06:51 +00:00
namespace BotSharp.Plugin.Planner.SqlGeneration.Hooks;
2024-07-25 22:11:51 +00:00
2025-01-18 04:06:51 +00:00
public class SqlPlannerAgentHook : AgentHookBase
2024-07-25 22:11:51 +00:00
{
2025-01-18 04:06:51 +00:00
public override string SelfId => PlannerAgentId.SqlPlanner;
2024-07-25 22:11:51 +00:00
2025-01-18 04:06:51 +00:00
public SqlPlannerAgentHook(IServiceProvider services, AgentSettings settings)
2024-07-25 22:11:51 +00:00
: base(services, settings)
{
}
2024-10-12 01:18:45 +00:00
public override bool OnInstructionLoaded(string template, Dictionary<string, object> dict)
{
var knowledgeHooks = _services.GetServices<IKnowledgeHook>();
// Get global knowledges
var Knowledges = new List<string>();
foreach (var hook in knowledgeHooks)
{
var k = hook.GetGlobalKnowledges(new RoleDialogModel(AgentRole.User, template)
{
2025-01-18 04:06:51 +00:00
CurrentAgentId = PlannerAgentId.SqlPlanner
2024-10-12 01:18:45 +00:00
}).Result;
Knowledges.AddRange(k);
}
dict["global_knowledges"] = Knowledges;
return true;
}
2024-07-25 22:11:51 +00:00
}