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);
}