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(configuration.GetSection("AiGateWay")); services.AddKeyedTransient( nameof(AzureOpenAiChatCompletionCompletionsService)); services.AddKeyedTransient( nameof(AzureDatabricksChatCompletionsService)); //ai模型特殊性兼容处理 Configure(options => { options.Handles.Add(request => { if (request.Model == "o1") { request.Temperature = null; } }); }); } public override async Task OnApplicationInitializationAsync(ApplicationInitializationContext context) { var service = context.ServiceProvider; } } }