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:
@@ -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.");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user