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,43 @@
using FluentAssertions;
using Microsoft.Extensions.Logging.Abstractions;
using PiiRedaction.Infrastructure.Onnx;
namespace PiiRedaction.Infrastructure.Tests.Onnx;
[TestFixture]
public sealed class TokenClassifierEncoderFactoryTests
{
[Test]
public void Create_PrefersWordPieceWhenVocabExists()
{
var modelDirectory = ResolveTamilModelDirectory();
if (!File.Exists(Path.Combine(modelDirectory, "vocab.txt")))
{
Assert.Ignore("Tamil vocab.txt not found.");
}
var encoder = TokenClassifierEncoderFactory.Create(
modelDirectory,
NullLogger.Instance);
encoder.Should().BeOfType<BertWordPieceEncoder>();
encoder.IsAvailable.Should().BeTrue();
}
private static string ResolveTamilModelDirectory()
{
var directory = new DirectoryInfo(AppContext.BaseDirectory);
while (directory is not null)
{
var candidate = Path.Combine(directory.FullName, "models", "ta");
if (Directory.Exists(candidate))
{
return candidate;
}
directory = directory.Parent;
}
return Path.Combine(Environment.CurrentDirectory, "models", "ta");
}
}