using BotSharp.Abstraction.MLTasks;
using BotSharp.Abstraction.Plugins;
using BotSharp.Abstraction.Utilities;
using BotSharp.Plugin.AzureOpenAI.Providers;
using BotSharp.Plugin.AzureOpenAI.Settings;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using System;
namespace BotSharp.Platform.AzureAi;
///
/// Azure OpenAI Service
///
public class AzureOpenAiPlugin : IBotSharpPlugin
{
public string Name => "Azure OpenAI";
public string Description => "Azure OpenAI Service";
public void RegisterDI(IServiceCollection services, IConfiguration config)
{
var settings = new AzureOpenAiSettings();
config.Bind("AzureOpenAi", settings);
services.AddSingleton(x =>
{
Console.WriteLine($"Loaded AzureOpenAi settings: ({settings.Endpoint}) {settings.ApiKey.SubstringMax(4)}");
return settings;
});
services.AddScoped();
services.AddScoped();
}
}