47 lines
1.7 KiB
C#
47 lines
1.7 KiB
C#
using Microsoft.Extensions.DependencyInjection;
|
|
using Volo.Abp.Domain;
|
|
using Yi.Framework.AiHub.Domain.AiGateWay;
|
|
using Yi.Framework.AiHub.Domain.AiGateWay.Impl.ThorAzureDatabricks.Chats;
|
|
using Yi.Framework.AiHub.Domain.AiGateWay.Impl.ThorAzureOpenAI.Chats;
|
|
using Yi.Framework.AiHub.Domain.Shared;
|
|
using Yi.Framework.Mapster;
|
|
|
|
namespace Yi.Framework.AiHub.Domain
|
|
{
|
|
[DependsOn(
|
|
typeof(YiFrameworkAiHubDomainSharedModule),
|
|
typeof(YiFrameworkMapsterModule),
|
|
typeof(AbpDddDomainModule)
|
|
)]
|
|
public class YiFrameworkAiHubDomainModule : AbpModule
|
|
{
|
|
public override void ConfigureServices(ServiceConfigurationContext context)
|
|
{
|
|
var configuration = context.Services.GetConfiguration();
|
|
var services = context.Services;
|
|
|
|
// Configure<AiGateWayOptions>(configuration.GetSection("AiGateWay"));
|
|
services.AddKeyedTransient<IChatCompletionService, AzureOpenAiChatCompletionCompletionsService>(
|
|
nameof(AzureOpenAiChatCompletionCompletionsService));
|
|
services.AddKeyedTransient<IChatCompletionService, AzureDatabricksChatCompletionsService>(
|
|
nameof(AzureDatabricksChatCompletionsService));
|
|
|
|
//ai模型特殊性兼容处理
|
|
Configure<SpecialCompatibleOptions>(options =>
|
|
{
|
|
options.Handles.Add(request =>
|
|
{
|
|
if (request.Model == "o1")
|
|
{
|
|
request.Temperature = null;
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
public override async Task OnApplicationInitializationAsync(ApplicationInitializationContext context)
|
|
{
|
|
var service = context.ServiceProvider;
|
|
}
|
|
}
|
|
} |