Browse Source

Register IChatClient for the default configuration

pull/23533/head
Halil İbrahim Kalkan 1 year ago
parent
commit
3442d29ced
  1. 11
      framework/src/Volo.Abp.AI/Volo/Abp/AI/AbpAIModule.cs
  2. 4
      framework/src/Volo.Abp.AI/Volo/Abp/AI/ChatClientConfigurationCollection.cs

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

@ -1,4 +1,5 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.AI;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Volo.Abp.Modularity;
@ -26,6 +27,14 @@ public class AbpAIModule : AbpModule
AbpAIOptions.GetChatClientServiceKeyName(chatClientConfig.Name),
provider => chatClientConfig.Builder.Build(provider)
);
if (chatClientConfig.Name == ChatClientConfigurationDictionary.DefaultChatClientName)
{
context.Services.AddTransient<IChatClient>(sp => sp.GetRequiredKeyedService<IChatClient>(
AbpAIOptions.GetChatClientServiceKeyName(chatClientConfig.Name)
)
);
}
}
context.Services.TryAddTransient(typeof(IChatClient<>), typeof(TypedChatClient<>));

4
framework/src/Volo.Abp.AI/Volo/Abp/AI/ChatClientConfigurationCollection.cs

@ -5,10 +5,10 @@ namespace Volo.Abp.AI;
public class ChatClientConfigurationDictionary : Dictionary<string, ChatClientConfiguration>
{
public static string DefaultName => "Default";
public static string DefaultChatClientName => "Default";
public void ConfigureDefault(Action<ChatClientConfiguration> configureAction) =>
Configure(DefaultName, configureAction);
Configure(DefaultChatClientName, configureAction);
public void Configure<T>(Action<ChatClientConfiguration> configureAction)
{

Loading…
Cancel
Save