mirror of
https://github.com/DrizzleTime/Foxel.git
synced 2026-05-07 08:03:00 +08:00
31 lines
957 B
C#
31 lines
957 B
C#
using Foxel.Services.Configuration;
|
|
|
|
namespace Foxel.Services.VectorDb;
|
|
|
|
public class VectorDbInitializer : IHostedService
|
|
{
|
|
private readonly IVectorDbService _vectorDbService;
|
|
private readonly IConfigService _configService;
|
|
private const string VectorDbTypeConfigKey = "VectorDb:Type";
|
|
|
|
public VectorDbInitializer(IVectorDbService vectorDbService, IConfigService configService)
|
|
{
|
|
_vectorDbService = vectorDbService;
|
|
_configService = configService;
|
|
}
|
|
|
|
public async Task StartAsync(CancellationToken cancellationToken)
|
|
{
|
|
var dbTypeStr = await _configService.GetValueAsync(VectorDbTypeConfigKey) ?? "InMemory";
|
|
if (string.Equals(dbTypeStr, "InMemory", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
await _vectorDbService.BuildUserPictureVectorsAsync();
|
|
}
|
|
}
|
|
|
|
public Task StopAsync(CancellationToken cancellationToken)
|
|
{
|
|
return Task.CompletedTask;
|
|
}
|
|
}
|