using Microsoft.Extensions.DependencyInjection; using OpenAI.Chat; using Volo.Abp.Caching; using Volo.Abp.Domain; using Yi.Framework.AiHub.Application.Contracts.Options; using Yi.Framework.AiHub.Domain.AiChat; using Yi.Framework.AiHub.Domain.AiChat.Impl; using Yi.Framework.AiHub.Domain.Managers; 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(AzureChatService)); } public override async Task OnApplicationInitializationAsync(ApplicationInitializationContext context) { var service = context.ServiceProvider; } } }