Browse Source

Separate PreConfigure & Configure logic

pull/23533/head
enisn 11 months ago
parent
commit
db2f7c3fb1
No known key found for this signature in database GPG Key ID: A052619F04155D1C
  1. 1
      framework/Volo.Abp.sln
  2. 12
      framework/src/Volo.Abp.AI/Volo/Abp/AI/AbpAIModule.cs
  3. 8
      framework/src/Volo.Abp.AI/Volo/Abp/AI/AbpAIWorkspaceOptions.cs

1
framework/Volo.Abp.sln

@ -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}"

12
framework/src/Volo.Abp.AI/Volo/Abp/AI/AbpAIModule.cs

@ -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<>));
}
}

8
framework/src/Volo.Abp.AI/Volo/Abp/AI/AbpAIWorkspaceOptions.cs

@ -0,0 +1,8 @@
using System.Collections.Generic;
namespace Volo.Abp.AI;
public class AbpAIWorkspaceOptions
{
public HashSet<string> ConfiguredWorkspaceNames { get; } = new();
}
Loading…
Cancel
Save