diff --git a/OllamaStudy.UseExtensionsAI/OpenAISdkTest.cs b/OllamaStudy.UseExtensionsAI/OpenAISdkTest.cs index e718923..bb9ec0e 100644 --- a/OllamaStudy.UseExtensionsAI/OpenAISdkTest.cs +++ b/OllamaStudy.UseExtensionsAI/OpenAISdkTest.cs @@ -9,6 +9,8 @@ public class OpenAISdkTest private IOptionsMonitor _ollamaOptionsMonitor; private OpenAIClient _defaultOpenAIClient; private ChatClient _singtonChatClient; + private OpenAIClient _uiUiApiClient; + private OpenAIClient _zipuApiClient; public OpenAISdkTest ( @@ -17,13 +19,18 @@ public class OpenAISdkTest IOptionsMonitor ollamaOptionsMonitor, //使用了FromKeyedServices特性,所以需要使用IKeyedServiceCollection注册服务 - [FromKeyedServices("OpenAIChatClient")]ChatClient singtonChatClient + [FromKeyedServices("OpenAIChatClient")]ChatClient singtonChatClient, + + [FromKeyedServices("UiUiAPIClient")]OpenAIClient uiUiApiClient, + [FromKeyedServices("ZipuAPIClient")]OpenAIClient zipuApiClient ) { _output = outputHelper; _defaultOpenAIClient = defaultOpenAIClient; _ollamaOptionsMonitor = ollamaOptionsMonitor; _singtonChatClient = singtonChatClient; + _uiUiApiClient = uiUiApiClient; + _zipuApiClient = zipuApiClient; } #region 使用客户端库 @@ -999,4 +1006,28 @@ public class OpenAISdkTest return $"31 {unit}"; } #endregion + + #region 其它平台测试 + + [Fact] + public void UiUiAPI_Test() + { + var chatClient = _uiUiApiClient.GetChatClient("gpt-3.5-turbo"); + + var r = chatClient.CompleteChat("你好"); + + _output.WriteLine(r.Value.Content.First().Text); + } + + [Fact] + public void Zipu_Test() + { + var chatClient = _zipuApiClient.GetChatClient("GLM-4.5-Flash"); + + var r = chatClient.CompleteChat("你好"); + + _output.WriteLine(r.Value.Content.First().Text); + } + + #endregion } diff --git a/OllamaStudy.UseExtensionsAI/Startup.cs b/OllamaStudy.UseExtensionsAI/Startup.cs index 1d84f63..fe5bc70 100644 --- a/OllamaStudy.UseExtensionsAI/Startup.cs +++ b/OllamaStudy.UseExtensionsAI/Startup.cs @@ -104,6 +104,36 @@ namespace OllamaStudy.UseExtensionsAI }; return new ChatClient(options.Model, new ApiKeyCredential("nokey"), openAIClientOptions); + }) + //UiUiAPI OpenAI 兼容API + .AddKeyedSingleton("UiUiAPIClient", (provider, obj) => + { + var openAIClientOptions = new OpenAIClientOptions() + { + Endpoint = new Uri("https://sg.uiuiapi.com/v1") + }; + + return new OpenAIClient(new ApiKeyCredential("sk-4azuOUkbzNGP22pQkND8ad1vZl7ladwBQyqGKlWWZyxYgX1L"), openAIClientOptions); + }) + //阿里百炼 OpenAI兼容API + .AddKeyedSingleton("BailianAPIClient", (provider, obj) => + { + var openAIClientOptions = new OpenAIClientOptions() + { + Endpoint = new Uri("https://dashscope.aliyuncs.com/compatible-mode/v1") + }; + + return new OpenAIClient(new ApiKeyCredential(""), openAIClientOptions); + }) + //智谱 OpenAI兼容API + .AddKeyedSingleton("ZipuAPIClient", (provider, obj) => + { + var openAIClientOptions = new OpenAIClientOptions() + { + Endpoint = new Uri("https://open.bigmodel.cn/api/paas/v4/") + }; + + return new OpenAIClient(new ApiKeyCredential("397a799102a6453282da8abb2a1b2581.8fTMHZGRkPHJya4R"), openAIClientOptions); }); } #endregion