Added embedding configurations (#224)

This commit is contained in:
Thorsten Sommer authored and GitHub committed 2024-12-03 15:24:40 +01:00
1 parent f806ee28c5
commit 799112eb9d
39 files changed
+1359 -439

No files matched your search

@@ -83,8 +83,9 @@ public static class ConfigurationSelectDataFactory
yield return new("All preview features are hidden", PreviewVisibility.NONE);
yield return new("Also show features ready for release; these should be stable", PreviewVisibility.RELEASE_CANDIDATE);
yield return new("Also show features in beta: these are almost ready for release; expect some bugs", PreviewVisibility.BETA);
yield return new("Also show features in alpha: these are in early development; expect bugs and missing features", PreviewVisibility.ALPHA);
yield return new("Also show features in alpha: these are in development; expect bugs and missing features", PreviewVisibility.ALPHA);
yield return new("Show also prototype features: these are works in progress; expect bugs and missing features", PreviewVisibility.PROTOTYPE);
yield return new("Show also experimental features: these are experimental; expect bugs, missing features, many changes", PreviewVisibility.EXPERIMENTAL);
}
public static IEnumerable<ConfigurationSelectData<NavBehavior>> GetNavBehaviorData()
@@ -20,6 +20,11 @@ public sealed class Data
/// Settings concerning the LLM providers.
/// </summary>
public DataLLMProviders LLMProviders { get; init; } = new();
/// <summary>
/// A collection of embedding providers configured.
/// </summary>
public List<EmbeddingProvider> EmbeddingProviders { get; init; } = [];
/// <summary>
/// List of configured profiles.
@@ -31,6 +36,11 @@ public sealed class Data
/// </summary>
public uint NextProviderNum { get; set; } = 1;
/// <summary>
/// The next embedding number to use.
/// </summary>
public uint NextEmbeddingNum { get; set; } = 1;
/// <summary>
/// The next profile number to use.
/// </summary>
@@ -8,4 +8,5 @@ public enum PreviewVisibility
BETA,
ALPHA,
PROTOTYPE,
EXPERIMENTAL,
}
@@ -0,0 +1,32 @@
using System.Text.Json.Serialization;
using AIStudio.Provider;
using Host = AIStudio.Provider.SelfHosted.Host;
namespace AIStudio.Settings;
public readonly record struct EmbeddingProvider(
uint Num,
string Id,
string Name,
LLMProviders UsedLLMProvider,
Model Model,
bool IsSelfHosted = false,
string Hostname = "http://localhost:1234",
Host Host = Host.NONE) : ISecretId
{
public override string ToString() => this.Name;
#region Implementation of ISecretId
/// <inheritdoc />
[JsonIgnore]
public string SecretId => this.Id;
/// <inheritdoc />
[JsonIgnore]
public string SecretName => this.Name;
#endregion
}
+15 -1
View File
@@ -1,3 +1,5 @@
using System.Text.Json.Serialization;
using AIStudio.Provider;
using Host = AIStudio.Provider.SelfHosted.Host;
@@ -22,7 +24,7 @@ public readonly record struct Provider(
Model Model,
bool IsSelfHosted = false,
string Hostname = "http://localhost:1234",
Host Host = Host.NONE)
Host Host = Host.NONE) : ISecretId
{
#region Overrides of ValueType
@@ -40,4 +42,16 @@ public readonly record struct Provider(
}
#endregion
#region Implementation of ISecretId
/// <inheritdoc />
[JsonIgnore]
public string SecretId => this.Id;
/// <inheritdoc />
[JsonIgnore]
public string SecretName => this.InstanceName;
#endregion
}