Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
namespace BotSharp.Abstraction.Models;

public static class Gpt4xModelConstants
{
public const string GPT_4o = "gpt-4o";
public const string GPT_4o_2024_11_20 = "gpt-4o-2024-11-20";
public const string GPT_4o_Mini = "gpt-4o-mini";
public const string GPT_4_1 = "gpt-4.1";
public const string GPT_4_1_Mini = "gpt-4.1-mini";
public const string GPT_4_1_Nano = "gpt-4.1-nano";
public const string GPT_4o_Mini_Realtime_Preview = "gpt-4o-mini-realtime-preview";
public const string GPT_4o_Realtime_Preview = "gpt-4o-realtime-preview";
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,6 @@ public interface ISettingService
T Bind<T>(string path) where T : new();

Task<object> GetDetail(string settingName, bool mask = false);

string GetUpgradeModel(string oldModelName);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
namespace BotSharp.Abstraction.Settings;

public class ModelUpgradeMapSettings
{
public static string Key => "ModelUpgradeMap";
public List<ModelUpgradeMapItem> ModelUpgradeMap { get; set; } = new();
}

public class ModelUpgradeMapItem
{
public string OldModel { get; set; } = string.Empty;
public string NewModel { get; set; } = string.Empty;
public bool Enable { get; set; }
}
10 changes: 10 additions & 0 deletions src/Infrastructure/BotSharp.Core/Agents/AgentPlugin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,16 @@ public void RegisterDI(IServiceCollection services, IConfiguration config)
render.RegisterType(typeof(AgentSettings));
return settingService.Bind<AgentSettings>("Agent");
});

services.AddScoped(provider =>
{
var settingService = provider.GetRequiredService<ISettingService>();
var config = provider.GetRequiredService<IConfiguration>();
var settings = new ModelUpgradeMapSettings();
config.Bind(ModelUpgradeMapSettings.Key, settings.ModelUpgradeMap);
return settings;
});

}

public bool AttachMenu(List<PluginMenuDef> menu)
Expand Down
13 changes: 13 additions & 0 deletions src/Infrastructure/BotSharp.Core/Infrastructures/SettingService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,17 @@ public static string Mask(string value)
+ string.Join("", Enumerable.Repeat("*", value.Length / 2));
return value;
}

public string GetUpgradeModel(string oldModelName)
{
var modelUpgradeMapSettings = _services.GetRequiredService<ModelUpgradeMapSettings>();
var mapping = modelUpgradeMapSettings.ModelUpgradeMap.FirstOrDefault(x => x.OldModel.Equals(oldModelName, StringComparison.OrdinalIgnoreCase));

if(mapping == null || !mapping.Enable)
{
return oldModelName;
}

return mapping.NewModel;
}
}
Loading