Catalog/imagecatalog/Services/IAiExtractionService.cs
2026-05-09 17:27:05 +02:00

24 lines
656 B
C#

using System;
using System.Threading;
using System.Threading.Tasks;
using ImageCatalog_2.Models;
namespace ImageCatalog_2.Services;
public sealed class AiExtractionRequest
{
public required string SearchRoot { get; init; }
public required bool Recursive { get; init; }
public required string ModelsFolderPath { get; init; }
public bool UseGpu { get; init; }
public string CsvOutputPath { get; init; } = string.Empty;
}
public interface IAiExtractionService
{
Task RunAsync(
AiExtractionRequest request,
CancellationToken token,
Func<AiResultItem, Task> onResult,
Func<double, Task> onProgress);
}