mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-10-05 01:49:41 +00:00
Updated documentation (#409)
This commit is contained in:
1 parent
c10c084da4
commit
2144cfe059
15 files changed
+104
-77
No files matched your search
+2
-2
@@ -1,9 +1,9 @@
|
||||
namespace AIStudio.Provider.HuggingFace;
|
||||
|
||||
/// <summary>
|
||||
/// Enum for instance providers that Hugging Face supports.
|
||||
/// Enum for inference providers that Hugging Face supports.
|
||||
/// </summary>
|
||||
public enum HFInstanceProvider
|
||||
public enum HFInferenceProvider
|
||||
{
|
||||
NONE,
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
namespace AIStudio.Provider.HuggingFace;
|
||||
|
||||
public static class HFInferenceProviderExtensions
|
||||
{
|
||||
public static string Endpoints(this HFInferenceProvider provider, Model model) => provider switch
|
||||
{
|
||||
HFInferenceProvider.CEREBRAS => "cerebras/v1/",
|
||||
HFInferenceProvider.NEBIUS_AI_STUDIO => "nebius/v1/",
|
||||
HFInferenceProvider.SAMBANOVA => "sambanova/v1/",
|
||||
HFInferenceProvider.NOVITA => "novita/v3/openai/",
|
||||
HFInferenceProvider.HYPERBOLIC => "hyperbolic/v1/",
|
||||
HFInferenceProvider.TOGETHER_AI => "together/v1/",
|
||||
HFInferenceProvider.FIREWORKS => "fireworks-ai/inference/v1/",
|
||||
HFInferenceProvider.HF_INFERENCE_API => $"hf-inference/models/{model.ToString()}/v1/",
|
||||
_ => string.Empty,
|
||||
};
|
||||
|
||||
public static string EndpointsId(this HFInferenceProvider provider) => provider switch
|
||||
{
|
||||
HFInferenceProvider.CEREBRAS => "cerebras",
|
||||
HFInferenceProvider.NEBIUS_AI_STUDIO => "nebius",
|
||||
HFInferenceProvider.SAMBANOVA => "sambanova",
|
||||
HFInferenceProvider.NOVITA => "novita",
|
||||
HFInferenceProvider.HYPERBOLIC => "hyperbolic",
|
||||
HFInferenceProvider.TOGETHER_AI => "together",
|
||||
HFInferenceProvider.FIREWORKS => "fireworks",
|
||||
HFInferenceProvider.HF_INFERENCE_API => "hf-inference",
|
||||
_ => string.Empty,
|
||||
};
|
||||
|
||||
public static string ToName(this HFInferenceProvider provider) => provider switch
|
||||
{
|
||||
HFInferenceProvider.CEREBRAS => "Cerebras",
|
||||
HFInferenceProvider.NEBIUS_AI_STUDIO => "Nebius AI Studio",
|
||||
HFInferenceProvider.SAMBANOVA => "Sambanova",
|
||||
HFInferenceProvider.NOVITA => "Novita",
|
||||
HFInferenceProvider.HYPERBOLIC => "Hyperbolic",
|
||||
HFInferenceProvider.TOGETHER_AI => "Together AI",
|
||||
HFInferenceProvider.FIREWORKS => "Fireworks AI",
|
||||
HFInferenceProvider.HF_INFERENCE_API => "Hugging Face Inference API",
|
||||
_ => string.Empty,
|
||||
};
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
namespace AIStudio.Provider.HuggingFace;
|
||||
|
||||
public static class HFInstanceProviderExtensions
|
||||
{
|
||||
public static string Endpoints(this HFInstanceProvider provider, Model model) => provider switch
|
||||
{
|
||||
HFInstanceProvider.CEREBRAS => "cerebras/v1/",
|
||||
HFInstanceProvider.NEBIUS_AI_STUDIO => "nebius/v1/",
|
||||
HFInstanceProvider.SAMBANOVA => "sambanova/v1/",
|
||||
HFInstanceProvider.NOVITA => "novita/v3/openai/",
|
||||
HFInstanceProvider.HYPERBOLIC => "hyperbolic/v1/",
|
||||
HFInstanceProvider.TOGETHER_AI => "together/v1/",
|
||||
HFInstanceProvider.FIREWORKS => "fireworks-ai/inference/v1/",
|
||||
HFInstanceProvider.HF_INFERENCE_API => $"hf-inference/models/{model.ToString()}/v1/",
|
||||
_ => string.Empty,
|
||||
};
|
||||
|
||||
public static string EndpointsId(this HFInstanceProvider provider) => provider switch
|
||||
{
|
||||
HFInstanceProvider.CEREBRAS => "cerebras",
|
||||
HFInstanceProvider.NEBIUS_AI_STUDIO => "nebius",
|
||||
HFInstanceProvider.SAMBANOVA => "sambanova",
|
||||
HFInstanceProvider.NOVITA => "novita",
|
||||
HFInstanceProvider.HYPERBOLIC => "hyperbolic",
|
||||
HFInstanceProvider.TOGETHER_AI => "together",
|
||||
HFInstanceProvider.FIREWORKS => "fireworks",
|
||||
HFInstanceProvider.HF_INFERENCE_API => "hf-inference",
|
||||
_ => string.Empty,
|
||||
};
|
||||
|
||||
public static string ToName(this HFInstanceProvider provider) => provider switch
|
||||
{
|
||||
HFInstanceProvider.CEREBRAS => "Cerebras",
|
||||
HFInstanceProvider.NEBIUS_AI_STUDIO => "Nebius AI Studio",
|
||||
HFInstanceProvider.SAMBANOVA => "Sambanova",
|
||||
HFInstanceProvider.NOVITA => "Novita",
|
||||
HFInstanceProvider.HYPERBOLIC => "Hyperbolic",
|
||||
HFInstanceProvider.TOGETHER_AI => "Together AI",
|
||||
HFInstanceProvider.FIREWORKS => "Fireworks AI",
|
||||
HFInstanceProvider.HF_INFERENCE_API => "Hugging Face Inference API",
|
||||
_ => string.Empty,
|
||||
};
|
||||
}
|
||||
@@ -11,9 +11,9 @@ namespace AIStudio.Provider.HuggingFace;
|
||||
|
||||
public sealed class ProviderHuggingFace : BaseProvider
|
||||
{
|
||||
public ProviderHuggingFace(ILogger logger, HFInstanceProvider hfProvider, Model model) : base($"https://router.huggingface.co/{hfProvider.Endpoints(model)}", logger)
|
||||
public ProviderHuggingFace(ILogger logger, HFInferenceProvider hfProvider, Model model) : base($"https://router.huggingface.co/{hfProvider.Endpoints(model)}", logger)
|
||||
{
|
||||
logger.LogInformation($"We use the instance provider '{hfProvider}'. Thus we use the base URL 'https://router.huggingface.co/{hfProvider.Endpoints(model)}'.");
|
||||
logger.LogInformation($"We use the inferende provider '{hfProvider}'. Thus we use the base URL 'https://router.huggingface.co/{hfProvider.Endpoints(model)}'.");
|
||||
}
|
||||
|
||||
#region Implementation of IProvider
|
||||
|
||||
@@ -135,7 +135,7 @@ public static class LLMProvidersExtensions
|
||||
/// <returns>The provider instance.</returns>
|
||||
public static IProvider CreateProvider(this AIStudio.Settings.Provider providerSettings, ILogger logger)
|
||||
{
|
||||
return providerSettings.UsedLLMProvider.CreateProvider(providerSettings.InstanceName, providerSettings.Host, providerSettings.Hostname, providerSettings.Model, providerSettings.HFInstanceProvider ,logger);
|
||||
return providerSettings.UsedLLMProvider.CreateProvider(providerSettings.InstanceName, providerSettings.Host, providerSettings.Hostname, providerSettings.Model, providerSettings.HFInferenceProvider ,logger);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -146,10 +146,10 @@ public static class LLMProvidersExtensions
|
||||
/// <returns>The provider instance.</returns>
|
||||
public static IProvider CreateProvider(this EmbeddingProvider embeddingProviderSettings, ILogger logger)
|
||||
{
|
||||
return embeddingProviderSettings.UsedLLMProvider.CreateProvider(embeddingProviderSettings.Name, embeddingProviderSettings.Host, embeddingProviderSettings.Hostname, embeddingProviderSettings.Model, HFInstanceProvider.NONE,logger);
|
||||
return embeddingProviderSettings.UsedLLMProvider.CreateProvider(embeddingProviderSettings.Name, embeddingProviderSettings.Host, embeddingProviderSettings.Hostname, embeddingProviderSettings.Model, HFInferenceProvider.NONE,logger);
|
||||
}
|
||||
|
||||
private static IProvider CreateProvider(this LLMProviders provider, string instanceName, Host host, string hostname, Model model, HFInstanceProvider instanceProvider , ILogger logger)
|
||||
private static IProvider CreateProvider(this LLMProviders provider, string instanceName, Host host, string hostname, Model model, HFInferenceProvider inferenceProvider , ILogger logger)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -165,7 +165,7 @@ public static class LLMProvidersExtensions
|
||||
|
||||
LLMProviders.GROQ => new ProviderGroq(logger) { InstanceName = instanceName },
|
||||
LLMProviders.FIREWORKS => new ProviderFireworks(logger) { InstanceName = instanceName },
|
||||
LLMProviders.HUGGINGFACE => new ProviderHuggingFace(logger, instanceProvider, model) { InstanceName = instanceName },
|
||||
LLMProviders.HUGGINGFACE => new ProviderHuggingFace(logger, inferenceProvider, model) { InstanceName = instanceName },
|
||||
|
||||
LLMProviders.SELF_HOSTED => new ProviderSelfHosted(logger, host, hostname) { InstanceName = instanceName },
|
||||
|
||||
@@ -234,10 +234,10 @@ public static class LLMProvidersExtensions
|
||||
_ => false,
|
||||
};
|
||||
|
||||
public static string GetModelsOverviewURL(this LLMProviders provider, HFInstanceProvider instanceProvider) => provider switch
|
||||
public static string GetModelsOverviewURL(this LLMProviders provider, HFInferenceProvider inferenceProvider) => provider switch
|
||||
{
|
||||
LLMProviders.FIREWORKS => "https://fireworks.ai/models?show=Serverless",
|
||||
LLMProviders.HUGGINGFACE => $"https://huggingface.co/models?inference_provider={instanceProvider.EndpointsId()}",
|
||||
LLMProviders.HUGGINGFACE => $"https://huggingface.co/models?inference_provider={inferenceProvider.EndpointsId()}",
|
||||
_ => string.Empty,
|
||||
};
|
||||
|
||||
|
||||
Reference in new issue
Block a user