Update LlmService to prioritize Gemini as the default provider for BYOK and adjust provider selection logic

- Changed the default LLM provider for BYOK from Claude to Gemini.
- Updated the provider selection priority to Gemini > OpenAI > Claude for improved service efficiency.
- Removed redundant gemini provider check from the SelectProvider method to streamline the logic.
This commit is contained in:
2026-01-05 05:41:48 +07:00
parent 531ebd2737
commit d53b6eee20

View File

@@ -74,7 +74,7 @@ public class LlmService : ILlmService
// BYOK: If user provides their own API key // BYOK: If user provides their own API key
if (!string.IsNullOrWhiteSpace(request.ApiKey)) if (!string.IsNullOrWhiteSpace(request.ApiKey))
{ {
var requestedProvider = ParseProviderString(request.Provider) ?? LlmProvider.Claude; // Default to Claude for BYOK var requestedProvider = ParseProviderString(request.Provider) ?? LlmProvider.Gemini; // Default to Gemini for BYOK
var providerName = ConvertLlmProviderToString(requestedProvider); var providerName = ConvertLlmProviderToString(requestedProvider);
provider = CreateProviderWithCustomKey(requestedProvider, request.ApiKey); provider = CreateProviderWithCustomKey(requestedProvider, request.ApiKey);
_logger.LogInformation("Using BYOK for provider: {Provider} for user: {UserId}", providerName, user.Id); _logger.LogInformation("Using BYOK for provider: {Provider} for user: {UserId}", providerName, user.Id);
@@ -143,7 +143,11 @@ public class LlmService : ILlmService
private ILlmProvider SelectProvider() private ILlmProvider SelectProvider()
{ {
// Priority: OpenAI > Claude > Gemini // Priority: Gemini > OpenAI > Claude
var geminiKey = ConvertLlmProviderToString(LlmProvider.Gemini);
if (_providers.TryGetValue(geminiKey, out var gemini))
return gemini;
var openaiKey = ConvertLlmProviderToString(LlmProvider.OpenAI); var openaiKey = ConvertLlmProviderToString(LlmProvider.OpenAI);
if (_providers.TryGetValue(openaiKey, out var openai)) if (_providers.TryGetValue(openaiKey, out var openai))
return openai; return openai;
@@ -151,10 +155,6 @@ public class LlmService : ILlmService
var claudeKey = ConvertLlmProviderToString(LlmProvider.Claude); var claudeKey = ConvertLlmProviderToString(LlmProvider.Claude);
if (_providers.TryGetValue(claudeKey, out var claude)) if (_providers.TryGetValue(claudeKey, out var claude))
return claude; return claude;
var geminiKey = ConvertLlmProviderToString(LlmProvider.Gemini);
if (_providers.TryGetValue(geminiKey, out var gemini))
return gemini;
throw new InvalidOperationException("No LLM providers are configured. Please add API keys to configuration."); throw new InvalidOperationException("No LLM providers are configured. Please add API keys to configuration.");
} }