using AIStudio.Provider.OpenAI;
namespace AIStudio.Provider;
///
/// Enum for all available providers.
///
public enum Providers
{
NONE,
OPEN_AI,
}
///
/// Extension methods for the provider enum.
///
public static class ExtensionsProvider
{
///
/// Returns the human-readable name of the provider.
///
/// The provider.
/// The human-readable name of the provider.
public static string ToName(this Providers provider) => provider switch
{
Providers.OPEN_AI => "OpenAI",
Providers.NONE => "No provider selected",
_ => "Unknown",
};
///
/// Creates a new provider instance based on the provider value.
///
/// The provider value.
/// The used instance name.
/// The provider instance.
public static IProvider CreateProvider(this Providers provider, string instanceName) => provider switch
{
Providers.OPEN_AI => new ProviderOpenAI { InstanceName = instanceName },
_ => new NoProvider(),
};
}