From 83b3dbd97415f54d9fbc2e2eebd1aafcaffe456d Mon Sep 17 00:00:00 2001 From: Jicheng Lu <103353@smsassist.com> Date: Thu, 26 Dec 2024 09:55:59 -0600 Subject: [PATCH] refine ai client --- .../Providers/Chat/GeminiChatCompletionProvider.cs | 4 ++-- .../Providers/Chat/PalmChatCompletionProvider.cs | 4 ++-- .../Providers/ProviderHelper.cs | 14 ++++++++------ .../Providers/Text/GeminiTextCompletionProvider.cs | 4 ++-- .../Providers/Text/PalmTextCompletionProvider.cs | 4 ++-- 5 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Chat/GeminiChatCompletionProvider.cs b/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Chat/GeminiChatCompletionProvider.cs index c37284b0..b52013dd 100644 --- a/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Chat/GeminiChatCompletionProvider.cs +++ b/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Chat/GeminiChatCompletionProvider.cs @@ -13,7 +13,7 @@ public class GeminiChatCompletionProvider : IChatCompletion private string _model; - public string Provider => "google-gemini"; + public string Provider => "google-ai"; public GeminiChatCompletionProvider( IServiceProvider services, @@ -33,7 +33,7 @@ public class GeminiChatCompletionProvider : IChatCompletion await hook.BeforeGenerating(agent, conversations); } - var client = ProviderHelper.GetGeminiClient(_services); + var client = ProviderHelper.GetGeminiClient(Provider, _model, _services); var aiModel = client.GenerativeModel(_model); var (prompt, request) = PrepareOptions(aiModel, agent, conversations); diff --git a/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Chat/PalmChatCompletionProvider.cs b/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Chat/PalmChatCompletionProvider.cs index 5c507ee9..c62aebb8 100644 --- a/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Chat/PalmChatCompletionProvider.cs +++ b/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Chat/PalmChatCompletionProvider.cs @@ -16,7 +16,7 @@ public class PalmChatCompletionProvider : IChatCompletion private string _model; - public string Provider => "google-ai"; + public string Provider => "google-palm"; public PalmChatCompletionProvider( IServiceProvider services, @@ -36,7 +36,7 @@ public class PalmChatCompletionProvider : IChatCompletion await hook.BeforeGenerating(agent, conversations); } - var client = ProviderHelper.GetPalmClient(_services); + var client = ProviderHelper.GetPalmClient(Provider, _model, _services); var (prompt, messages, hasFunctions) = PrepareOptions(agent, conversations); RoleDialogModel msg; diff --git a/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/ProviderHelper.cs b/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/ProviderHelper.cs index 75435f90..5ca1058a 100644 --- a/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/ProviderHelper.cs +++ b/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/ProviderHelper.cs @@ -5,17 +5,19 @@ namespace BotSharp.Plugin.GoogleAi.Providers; public static class ProviderHelper { - public static GoogleAI GetGeminiClient(IServiceProvider services) + public static GoogleAI GetGeminiClient(string provider, string model, IServiceProvider services) { - var settings = services.GetRequiredService(); - var client = new GoogleAI(settings.Gemini.ApiKey); + var settingsService = services.GetRequiredService(); + var settings = settingsService.GetSetting(provider, model); + var client = new GoogleAI(settings.ApiKey); return client; } - public static GooglePalmClient GetPalmClient(IServiceProvider services) + public static GooglePalmClient GetPalmClient(string provider, string model, IServiceProvider services) { - var settings = services.GetRequiredService(); - var client = new GooglePalmClient(settings.PaLM.ApiKey); + var settingsService = services.GetRequiredService(); + var settings = settingsService.GetSetting(provider, model); + var client = new GooglePalmClient(settings.ApiKey); return client; } } diff --git a/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Text/GeminiTextCompletionProvider.cs b/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Text/GeminiTextCompletionProvider.cs index e6e3f4b3..e14071f7 100644 --- a/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Text/GeminiTextCompletionProvider.cs +++ b/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Text/GeminiTextCompletionProvider.cs @@ -13,7 +13,7 @@ public class GeminiTextCompletionProvider : ITextCompletion private readonly ITokenStatistics _tokenStatistics; private string _model; - public string Provider => "google-gemini"; + public string Provider => "google-ai"; public GeminiTextCompletionProvider( IServiceProvider services, @@ -45,7 +45,7 @@ public class GeminiTextCompletionProvider : ITextCompletion await hook.BeforeGenerating(agent, new List { userMessage }); } - var client = ProviderHelper.GetGeminiClient(_services); + var client = ProviderHelper.GetGeminiClient(Provider, _model, _services); var aiModel = client.GenerativeModel(_model); PrepareOptions(aiModel); diff --git a/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Text/PalmTextCompletionProvider.cs b/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Text/PalmTextCompletionProvider.cs index c7e64fe8..ebaf6c5f 100644 --- a/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Text/PalmTextCompletionProvider.cs +++ b/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Text/PalmTextCompletionProvider.cs @@ -13,7 +13,7 @@ public class PalmTextCompletionProvider : ITextCompletion private string _model; - public string Provider => "google-ai"; + public string Provider => "google-palm"; public PalmTextCompletionProvider( IServiceProvider services, @@ -38,7 +38,7 @@ public class PalmTextCompletionProvider : ITextCompletion await hook.BeforeGenerating(agent, new List { userMessage }); } - var client = ProviderHelper.GetPalmClient(_services); + var client = ProviderHelper.GetPalmClient(Provider, _model, _services); _tokenStatistics.StartTimer(); var response = await client.GenerateTextAsync(text, null); _tokenStatistics.StopTimer();