Browse Source
Separate PreConfigure & Configure logic
pull/23533/head
enisn
11 months ago
No known key found for this signature in database
GPG Key ID: A052619F04155D1C
3 changed files with
19 additions and
2 deletions
-
framework/Volo.Abp.sln
-
framework/src/Volo.Abp.AI/Volo/Abp/AI/AbpAIModule.cs
-
framework/src/Volo.Abp.AI/Volo/Abp/AI/AbpAIWorkspaceOptions.cs
|
|
|
@ -494,6 +494,7 @@ EndProject |
|
|
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.AI", "src\Volo.Abp.AI\Volo.Abp.AI.csproj", "{82BD7B8C-7CE1-4C9B-B447-3796DA54B080}" |
|
|
|
EndProject |
|
|
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.AI.Abstractions", "src\Volo.Abp.AI.Abstractions\Volo.Abp.AI.Abstractions.csproj", "{63BEAA7D-4807-4534-9B45-66FD36491FD3}" |
|
|
|
EndProject |
|
|
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Mapperly", "src\Volo.Abp.Mapperly\Volo.Abp.Mapperly.csproj", "{AF556046-54CD-48BC-9740-3E926DB8B510}" |
|
|
|
EndProject |
|
|
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Mapperly.Tests", "test\Volo.Abp.Mapperly.Tests\Volo.Abp.Mapperly.Tests.csproj", "{C38926D5-C1E7-47D6-BD0B-D36BE4C19AE7}" |
|
|
|
|
|
|
|
@ -1,4 +1,6 @@ |
|
|
|
using Microsoft.Extensions.AI; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Linq; |
|
|
|
using Microsoft.Extensions.AI; |
|
|
|
using Microsoft.Extensions.DependencyInjection; |
|
|
|
using Microsoft.Extensions.DependencyInjection.Extensions; |
|
|
|
using Microsoft.SemanticKernel; |
|
|
|
@ -11,13 +13,17 @@ namespace Volo.Abp.AI; |
|
|
|
)] |
|
|
|
public class AbpAIModule : AbpModule |
|
|
|
{ |
|
|
|
|
|
|
|
public const string DefaultWorkspaceName = "Default"; |
|
|
|
|
|
|
|
public override void PostConfigureServices(ServiceConfigurationContext context) |
|
|
|
{ |
|
|
|
var options = context.Services.ExecutePreConfiguredActions<AbpAIOptions>(); |
|
|
|
|
|
|
|
context.Services.Configure<AbpAIWorkspaceOptions>(workspaceOptions => |
|
|
|
{ |
|
|
|
workspaceOptions.ConfiguredWorkspaceNames.UnionWith(options.Workspaces.Select(x => x.Key).ToArray()); |
|
|
|
}); |
|
|
|
|
|
|
|
foreach (var workspaceConfig in options.Workspaces.Values) |
|
|
|
{ |
|
|
|
if (workspaceConfig.ChatClient?.Builder is null) |
|
|
|
@ -73,5 +79,7 @@ public class AbpAIModule : AbpModule |
|
|
|
} |
|
|
|
|
|
|
|
context.Services.TryAddTransient(typeof(IKernelAccessor<>), typeof(TypedKernelAccessor<>)); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
@ -0,0 +1,8 @@ |
|
|
|
using System.Collections.Generic; |
|
|
|
|
|
|
|
namespace Volo.Abp.AI; |
|
|
|
|
|
|
|
public class AbpAIWorkspaceOptions |
|
|
|
{ |
|
|
|
public HashSet<string> ConfiguredWorkspaceNames { get; } = new(); |
|
|
|
} |