Added Hugging Face inference provider (#397)
Build and Release / Read metadata (push) Waiting to run
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-pc-windows-msvc.exe, win-arm64, windows-latest, aarch64-pc-windows-msvc, nsis updater) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-unknown-linux-gnu, linux-arm64, ubuntu-22.04-arm, aarch64-unknown-linux-gnu, deb) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-apple-darwin, osx-x64, macos-latest, x86_64-apple-darwin, dmg updater) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-pc-windows-msvc.exe, win-x64, windows-latest, x86_64-pc-windows-msvc, nsis updater) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-unknown-linux-gnu, linux-x64, ubuntu-22.04, x86_64-unknown-linux-gnu, appimage deb updater) (push) Blocked by required conditions
Build and Release / Prepare & create release (push) Blocked by required conditions
Build and Release / Publish release (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-apple-darwin, osx-arm64, macos-latest, aarch64-apple-darwin, dmg updater) (push) Blocked by required conditions

This commit is contained in:
Peer Schütt authored and GitHub committed 2025-04-11 14:31:10 +02:00
1 parent 712ed2938f
commit 1ff27fe21f
13 files changed
+281 -37

No files matched your search

@@ -1,4 +1,5 @@
using AIStudio.Provider;
using AIStudio.Provider.HuggingFace;
using AIStudio.Settings;
using AIStudio.Tools.Services;
using AIStudio.Tools.Validation;
@@ -47,6 +48,12 @@ public partial class ProviderDialog : ComponentBase, ISecretId
[Parameter]
public Host DataHost { get; set; } = Host.NONE;
/// <summary>
/// The HFInstanceProvider to use, e.g., CEREBRAS.
/// </summary>
[Parameter]
public HFInstanceProvider HfInstanceProviderId { get; set; } = HFInstanceProvider.NONE;
/// <summary>
/// Is this provider self-hosted?
/// </summary>
@@ -122,10 +129,16 @@ public partial class ProviderDialog : ComponentBase, ISecretId
Id = this.DataId,
InstanceName = this.DataInstanceName,
UsedLLMProvider = this.DataLLMProvider,
Model = this.DataLLMProvider is LLMProviders.FIREWORKS ? new Model(this.dataManuallyModel, null) : this.DataModel,
Model = this.DataLLMProvider switch
{
LLMProviders.FIREWORKS => new Model(this.dataManuallyModel, null),
LLMProviders.HUGGINGFACE => new Model(this.dataManuallyModel, null),
_ => this.DataModel
},
IsSelfHosted = this.DataLLMProvider is LLMProviders.SELF_HOSTED,
Hostname = cleanedHostname.EndsWith('/') ? cleanedHostname[..^1] : cleanedHostname,
Host = this.DataHost,
HFInstanceProvider = this.HfInstanceProviderId,
};
}
@@ -146,8 +159,8 @@ public partial class ProviderDialog : ComponentBase, ISecretId
{
this.dataEditingPreviousInstanceName = this.DataInstanceName.ToLowerInvariant();
// When using Fireworks, we must copy the model name:
if (this.DataLLMProvider is LLMProviders.FIREWORKS)
// When using Fireworks or Hugging Face, we must copy the model name:
if (this.DataLLMProvider is LLMProviders.FIREWORKS or LLMProviders.HUGGINGFACE)
this.dataManuallyModel = this.DataModel.Id;
//
@@ -230,7 +243,7 @@ public partial class ProviderDialog : ComponentBase, ISecretId
private string? ValidateManuallyModel(string manuallyModel)
{
if (this.DataLLMProvider is LLMProviders.FIREWORKS && string.IsNullOrWhiteSpace(manuallyModel))
if ((this.DataLLMProvider is LLMProviders.FIREWORKS or LLMProviders.HUGGINGFACE) && string.IsNullOrWhiteSpace(manuallyModel))
return "Please enter a model name.";
return null;