diff --git a/app/MindWork AI Studio/Dialogs/ProviderDialog.razor.cs b/app/MindWork AI Studio/Dialogs/ProviderDialog.razor.cs index 78592b33..822f64ed 100644 --- a/app/MindWork AI Studio/Dialogs/ProviderDialog.razor.cs +++ b/app/MindWork AI Studio/Dialogs/ProviderDialog.razor.cs @@ -164,7 +164,7 @@ public partial class ProviderDialog : MSGComponentBase, ISecretId // // We cannot load the API key for self-hosted providers: // - if (this.DataLLMProvider is LLMProviders.SELF_HOSTED && this.DataHost is not Host.OLLAMA) + if (this.DataLLMProvider is LLMProviders.SELF_HOSTED && this.DataHost is not Host.OLLAMA && this.DataHost is not Host.V_LLM) { await this.ReloadModels(); await base.OnInitializedAsync(); diff --git a/app/MindWork AI Studio/Provider/LLMProvidersExtensions.cs b/app/MindWork AI Studio/Provider/LLMProvidersExtensions.cs index 1c820baa..2ce11c65 100644 --- a/app/MindWork AI Studio/Provider/LLMProvidersExtensions.cs +++ b/app/MindWork AI Studio/Provider/LLMProvidersExtensions.cs @@ -285,7 +285,7 @@ public static class LLMProvidersExtensions LLMProviders.GWDG => true, LLMProviders.HUGGINGFACE => true, - LLMProviders.SELF_HOSTED => host is Host.OLLAMA, + LLMProviders.SELF_HOSTED => host is (Host.OLLAMA or Host.V_LLM), _ => false, }; @@ -322,6 +322,7 @@ public static class LLMProvidersExtensions case Host.OLLAMA: case Host.LM_STUDIO: + case Host.V_LLM: return true; } } diff --git a/app/MindWork AI Studio/Provider/SelfHosted/ChatRequest.cs b/app/MindWork AI Studio/Provider/SelfHosted/ChatRequest.cs index 74b3f089..db05e365 100644 --- a/app/MindWork AI Studio/Provider/SelfHosted/ChatRequest.cs +++ b/app/MindWork AI Studio/Provider/SelfHosted/ChatRequest.cs @@ -6,11 +6,8 @@ namespace AIStudio.Provider.SelfHosted; /// Which model to use for chat completion. /// The chat messages. /// Whether to stream the chat completion. -/// The maximum number of tokens to generate. public readonly record struct ChatRequest( string Model, IList Messages, - bool Stream, - - int MaxTokens + bool Stream ); \ No newline at end of file diff --git a/app/MindWork AI Studio/Provider/SelfHosted/Host.cs b/app/MindWork AI Studio/Provider/SelfHosted/Host.cs index c90ecc9a..205c4166 100644 --- a/app/MindWork AI Studio/Provider/SelfHosted/Host.cs +++ b/app/MindWork AI Studio/Provider/SelfHosted/Host.cs @@ -7,4 +7,5 @@ public enum Host LM_STUDIO, LLAMACPP, OLLAMA, + V_LLM, } \ No newline at end of file diff --git a/app/MindWork AI Studio/Provider/SelfHosted/HostExtensions.cs b/app/MindWork AI Studio/Provider/SelfHosted/HostExtensions.cs index a4e29648..571e665a 100644 --- a/app/MindWork AI Studio/Provider/SelfHosted/HostExtensions.cs +++ b/app/MindWork AI Studio/Provider/SelfHosted/HostExtensions.cs @@ -9,6 +9,7 @@ public static class HostExtensions Host.LM_STUDIO => "LM Studio", Host.LLAMACPP => "llama.cpp", Host.OLLAMA => "ollama", + Host.V_LLM => "vLLM", _ => "Unknown", }; @@ -29,6 +30,7 @@ public static class HostExtensions { case Host.LM_STUDIO: case Host.OLLAMA: + case Host.V_LLM: return true; default: diff --git a/app/MindWork AI Studio/Provider/SelfHosted/ProviderSelfHosted.cs b/app/MindWork AI Studio/Provider/SelfHosted/ProviderSelfHosted.cs index a2e997f9..3bba1ccf 100644 --- a/app/MindWork AI Studio/Provider/SelfHosted/ProviderSelfHosted.cs +++ b/app/MindWork AI Studio/Provider/SelfHosted/ProviderSelfHosted.cs @@ -58,8 +58,7 @@ public sealed class ProviderSelfHosted(ILogger logger, Host host, string hostnam }).ToList()], // Right now, we only support streaming completions: - Stream = true, - MaxTokens = -1, + Stream = true }, JSON_SERIALIZER_OPTIONS); async Task RequestBuilder() @@ -101,6 +100,7 @@ public sealed class ProviderSelfHosted(ILogger logger, Host host, string hostnam case Host.LM_STUDIO: case Host.OLLAMA: + case Host.V_LLM: return await this.LoadModels(["embed"], [], token, apiKeyProvisional); } @@ -127,6 +127,7 @@ public sealed class ProviderSelfHosted(ILogger logger, Host host, string hostnam { case Host.LM_STUDIO: case Host.OLLAMA: + case Host.V_LLM: return await this.LoadModels([], ["embed"], token, apiKeyProvisional); }