using Rag.Models; namespace Api.Services.Contracts; /// /// Classifies a document into a known type (cv, job, contract, etc.) and extracts a title. /// public interface IDocumentClassifier { /// /// Determines the document type and title from the provided text. /// Uses and directly when supplied; /// otherwise falls back to a keyword-frequency heuristic over the text. /// /// Full document text to classify. /// Caller-supplied document type hint; skips heuristic when non-empty. /// Caller-supplied document title; skips title extraction when non-empty. /// Cancellation token. /// A with type, confidence score, and title. Task ClassifyAsync(string text, string? providedType, string? providedTitle, CancellationToken ct); }