main
bicijinlian 2 days ago
parent 9614ea2c9d
commit bdb050c9d6

@ -9,6 +9,8 @@ public class OpenAISdkTest
private IOptionsMonitor<OllamaServerOption> _ollamaOptionsMonitor;
private OpenAIClient _defaultOpenAIClient;
private ChatClient _singtonChatClient;
private OpenAIClient _uiUiApiClient;
private OpenAIClient _zipuApiClient;
public OpenAISdkTest
(
@ -17,13 +19,18 @@ public class OpenAISdkTest
IOptionsMonitor<OllamaServerOption> 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
}

@ -104,6 +104,36 @@ namespace OllamaStudy.UseExtensionsAI
};
return new ChatClient(options.Model, new ApiKeyCredential("nokey"), openAIClientOptions);
})
//UiUiAPI OpenAI 兼容API
.AddKeyedSingleton<OpenAIClient>("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<OpenAIClient>("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<OpenAIClient>("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

Loading…
Cancel
Save