Add Tamil NER routing and WPF test harness for POC validation.

Introduce dual-script ONNX NER routing (English/Tamil/mixed), Tamil console samples and integration tests, model download scripts, and a resizable WPF MVVM harness with click-to-load prompts, batch validation, and runtime-adjustable detection panels.
This commit is contained in:
Bilal Nazer Ali
2026-07-07 17:12:38 +05:30
parent a707c6c9cf
commit cf8f5a7232
71 changed files with 4494 additions and 356 deletions

View File

@@ -0,0 +1,46 @@
using Microsoft.Extensions.Options;
using PiiRedaction.Core.Configuration;
using PiiRedaction.Infrastructure.Onnx;
using PiiRedaction.TestHarness.Wpf.Models;
namespace PiiRedaction.TestHarness.Wpf.Services;
public sealed class ModelStatusService : IModelStatusService
{
private readonly EnglishOnnxNerRunner _englishRunner;
private readonly TamilOnnxNerRunner _tamilRunner;
private readonly PiiRedactionOptions _options;
public ModelStatusService(
EnglishOnnxNerRunner englishRunner,
TamilOnnxNerRunner tamilRunner,
IOptions<PiiRedactionOptions> options)
{
_englishRunner = englishRunner;
_tamilRunner = tamilRunner;
_options = options.Value;
}
public ModelStatusSnapshot GetStatus()
{
var englishPath = OnnxAssetPathResolver.ResolveModelPath(
_options.EnglishOnnxModelPath,
_options.OnnxModelPath);
var tamilPath = OnnxAssetPathResolver.ResolveModelPath(_options.TamilOnnxModelPath);
var englishAvailability = _englishRunner.IsModelAvailable
? ModelAvailability.Ready
: ModelAvailability.Missing;
var tamilAvailability = !_options.EnableTamilNer
? ModelAvailability.Disabled
: _tamilRunner.IsModelAvailable
? ModelAvailability.Ready
: ModelAvailability.Missing;
return new ModelStatusSnapshot(
new NerModelStatus("English", englishAvailability, englishPath),
new NerModelStatus("Tamil", tamilAvailability, tamilPath));
}
}