mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2025-07-04 17:22:56 +00:00
151 lines
7.1 KiB
Plaintext
151 lines
7.1 KiB
Plaintext
@using AIStudio.Provider
|
|
@using AIStudio.Provider.SelfHosted
|
|
@inherits MSGComponentBase
|
|
|
|
<MudDialog>
|
|
<DialogContent>
|
|
<MudForm @ref="@this.form" @bind-IsValid="@this.dataIsValid" @bind-Errors="@this.dataIssues">
|
|
<MudStack Row="@true" AlignItems="AlignItems.Center">
|
|
@* ReSharper disable once CSharpWarnings::CS8974 *@
|
|
<MudSelect @bind-Value="@this.DataLLMProvider" Label="@T("Provider")" Class="mb-3" OpenIcon="@Icons.Material.Filled.AccountBalance" AdornmentColor="Color.Info" Adornment="Adornment.Start" Validation="@this.providerValidation.ValidatingProvider">
|
|
@foreach (LLMProviders provider in Enum.GetValues(typeof(LLMProviders)))
|
|
{
|
|
if (provider.ProvideEmbeddings() || provider is LLMProviders.NONE)
|
|
{
|
|
<MudSelectItem Value="@provider">
|
|
@provider.ToName()
|
|
</MudSelectItem>
|
|
}
|
|
}
|
|
</MudSelect>
|
|
<MudButton Disabled="@(!this.DataLLMProvider.ShowRegisterButton())" Variant="Variant.Filled" Size="Size.Small" StartIcon="@Icons.Material.Filled.OpenInBrowser" Href="@this.DataLLMProvider.GetCreationURL()" Target="_blank">
|
|
@T("Create account")
|
|
</MudButton>
|
|
</MudStack>
|
|
|
|
@if (this.DataLLMProvider.IsAPIKeyNeeded(this.DataHost))
|
|
{
|
|
@* ReSharper disable once CSharpWarnings::CS8974 *@
|
|
<MudTextField
|
|
T="string"
|
|
@bind-Text="@this.dataAPIKey"
|
|
Label="@this.APIKeyText"
|
|
Class="mb-3"
|
|
Adornment="Adornment.Start"
|
|
AdornmentIcon="@Icons.Material.Filled.VpnKey"
|
|
AdornmentColor="Color.Info"
|
|
InputType="InputType.Password"
|
|
Immediate="true"
|
|
Validation="@this.providerValidation.ValidatingAPIKey"/>
|
|
}
|
|
|
|
@if (this.DataLLMProvider.IsHostnameNeeded())
|
|
{
|
|
<MudTextField
|
|
T="string"
|
|
@bind-Text="@this.DataHostname"
|
|
Label="@T("Hostname")"
|
|
Class="mb-3"
|
|
Adornment="Adornment.Start"
|
|
AdornmentIcon="@Icons.Material.Filled.Dns"
|
|
AdornmentColor="Color.Info"
|
|
Validation="@this.providerValidation.ValidatingHostname"
|
|
UserAttributes="@SPELLCHECK_ATTRIBUTES"/>
|
|
}
|
|
|
|
@if (this.DataLLMProvider.IsHostNeeded())
|
|
{
|
|
<MudSelect @bind-Value="@this.DataHost" Label="@T("Host")" Class="mb-3" OpenIcon="@Icons.Material.Filled.ExpandMore" AdornmentColor="Color.Info" Adornment="Adornment.Start" Validation="@this.providerValidation.ValidatingHost">
|
|
@foreach (Host host in Enum.GetValues(typeof(Host)))
|
|
{
|
|
if (host.AreEmbeddingsSupported())
|
|
{
|
|
<MudSelectItem Value="@host">
|
|
@host.Name()
|
|
</MudSelectItem>
|
|
}
|
|
}
|
|
</MudSelect>
|
|
}
|
|
|
|
<MudField FullWidth="true" Label="@T("Model selection")" Variant="Variant.Outlined" Class="mb-3">
|
|
<MudStack Row="@true" AlignItems="AlignItems.Center" StretchItems="StretchItems.End">
|
|
@if (this.DataLLMProvider.IsEmbeddingModelProvidedManually(this.DataHost))
|
|
{
|
|
<MudTextField
|
|
T="string"
|
|
@bind-Text="@this.dataManuallyModel"
|
|
Label="@T("Model")"
|
|
Class="mb-3"
|
|
Adornment="Adornment.Start"
|
|
AdornmentIcon="@Icons.Material.Filled.Dns"
|
|
AdornmentColor="Color.Info"
|
|
Validation="@this.ValidateManuallyModel"
|
|
UserAttributes="@SPELLCHECK_ATTRIBUTES"
|
|
HelperText="@T("Currently, we cannot query the embedding models of self-hosted systems. Therefore, enter the model name manually.")"
|
|
/>
|
|
}
|
|
else
|
|
{
|
|
<MudButton Disabled="@(!this.DataLLMProvider.CanLoadModels(this.DataHost, this.dataAPIKey))" Variant="Variant.Filled" Size="Size.Small" StartIcon="@Icons.Material.Filled.Refresh" OnClick="this.ReloadModels">
|
|
@T("Load")
|
|
</MudButton>
|
|
@if(this.availableModels.Count is 0)
|
|
{
|
|
<MudText Typo="Typo.body1">
|
|
@T("No models loaded or available.")
|
|
</MudText>
|
|
}
|
|
else
|
|
{
|
|
<MudSelect Disabled="@this.IsNoneProvider" @bind-Value="@this.DataModel" Label="@T("Model")"
|
|
OpenIcon="@Icons.Material.Filled.FaceRetouchingNatural"
|
|
AdornmentColor="Color.Info" Adornment="Adornment.Start"
|
|
Validation="@this.providerValidation.ValidatingModel">
|
|
@foreach (var model in this.availableModels)
|
|
{
|
|
<MudSelectItem Value="@model">
|
|
@model
|
|
</MudSelectItem>
|
|
}
|
|
</MudSelect>
|
|
}
|
|
}
|
|
</MudStack>
|
|
</MudField>
|
|
|
|
@* ReSharper disable once CSharpWarnings::CS8974 *@
|
|
<MudTextField
|
|
T="string"
|
|
@bind-Text="@this.DataName"
|
|
Label="@T("Instance Name")"
|
|
Class="mb-3"
|
|
MaxLength="40"
|
|
Counter="40"
|
|
Immediate="@true"
|
|
Adornment="Adornment.Start"
|
|
AdornmentIcon="@Icons.Material.Filled.Lightbulb"
|
|
AdornmentColor="Color.Info"
|
|
Validation="@this.providerValidation.ValidatingInstanceName"
|
|
UserAttributes="@SPELLCHECK_ATTRIBUTES"
|
|
/>
|
|
|
|
</MudForm>
|
|
<Issues IssuesData="@this.dataIssues"/>
|
|
</DialogContent>
|
|
<DialogActions>
|
|
<MudButton OnClick="@this.Cancel" Variant="Variant.Filled">
|
|
@T("Cancel")
|
|
</MudButton>
|
|
<MudButton OnClick="@this.Store" Variant="Variant.Filled" Color="Color.Primary">
|
|
@if(this.IsEditing)
|
|
{
|
|
@T("Update")
|
|
}
|
|
else
|
|
{
|
|
@T("Add")
|
|
}
|
|
</MudButton>
|
|
</DialogActions>
|
|
</MudDialog> |