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
|
|
|
}
|