2024-12-10 18:30:41 +00:00
|
|
|
using BotSharp.Plugin.Planner.Sequential;
|
2024-12-16 23:22:28 +00:00
|
|
|
using BotSharp.Plugin.Planner.SqlGeneration;
|
2024-08-29 21:33:32 +00:00
|
|
|
using BotSharp.Plugin.Planner.TwoStaging;
|
|
|
|
|
|
2024-07-25 22:11:51 +00:00
|
|
|
namespace BotSharp.Plugin.Planner;
|
|
|
|
|
|
2024-08-29 21:33:32 +00:00
|
|
|
/// <summary>
|
|
|
|
|
/// Plugin for AI Planning.
|
|
|
|
|
/// </summary>
|
2024-07-25 22:11:51 +00:00
|
|
|
public class PlannerPlugin : IBotSharpPlugin
|
|
|
|
|
{
|
|
|
|
|
public string Id => "571f71fe-1583-46f2-b577-c8577a0a2903";
|
|
|
|
|
public string Name => "AI Planning Plugin";
|
|
|
|
|
public string Description => "Provide AI with different planning approaches to improve AI's ability to solve complex problems.";
|
2024-08-29 21:33:32 +00:00
|
|
|
public string IconUrl => "https://e7.pngegg.com/pngimages/775/350/png-clipart-action-plan-computer-icons-plan-miscellaneous-text-thumbnail.png";
|
|
|
|
|
|
2024-12-10 18:30:41 +00:00
|
|
|
public string[] AgentIds =>
|
|
|
|
|
[
|
|
|
|
|
PlannerAgentId.TwoStagePlanner,
|
2024-12-16 23:22:28 +00:00
|
|
|
PlannerAgentId.SequentialPlanner,
|
|
|
|
|
PlannerAgentId.SqlPlanner
|
2024-12-10 18:30:41 +00:00
|
|
|
];
|
2024-07-25 22:11:51 +00:00
|
|
|
|
|
|
|
|
public void RegisterDI(IServiceCollection services, IConfiguration config)
|
|
|
|
|
{
|
2024-12-10 18:30:41 +00:00
|
|
|
services.AddScoped<ITaskPlanner, SequentialPlanner>();
|
2024-11-26 00:06:26 +00:00
|
|
|
services.AddScoped<ITaskPlanner, TwoStageTaskPlanner>();
|
2024-12-16 23:22:28 +00:00
|
|
|
services.AddScoped<ITaskPlanner, SqlGenerationPlanner>();
|
2024-07-25 22:11:51 +00:00
|
|
|
services.AddScoped<IAgentHook, PlannerAgentHook>();
|
|
|
|
|
services.AddScoped<IAgentUtilityHook, PlannerUtilityHook>();
|
|
|
|
|
}
|
|
|
|
|
}
|