From d53b6eee20853472390fbfb1db85348d3ba92e6a Mon Sep 17 00:00:00 2001 From: cryptooda Date: Mon, 5 Jan 2026 05:41:48 +0700 Subject: [PATCH] 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. --- src/Managing.Application/LLM/LlmService.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Managing.Application/LLM/LlmService.cs b/src/Managing.Application/LLM/LlmService.cs index 2b31df15..a01840b4 100644 --- a/src/Managing.Application/LLM/LlmService.cs +++ b/src/Managing.Application/LLM/LlmService.cs @@ -74,7 +74,7 @@ public class LlmService : ILlmService // BYOK: If user provides their own API key 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); provider = CreateProviderWithCustomKey(requestedProvider, request.ApiKey); _logger.LogInformation("Using BYOK for provider: {Provider} for user: {UserId}", providerName, user.Id); @@ -143,7 +143,11 @@ public class LlmService : ILlmService 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); if (_providers.TryGetValue(openaiKey, out var openai)) return openai; @@ -151,10 +155,6 @@ public class LlmService : ILlmService var claudeKey = ConvertLlmProviderToString(LlmProvider.Claude); if (_providers.TryGetValue(claudeKey, out var 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."); }