namespace Models
{
    /// <summary>
    /// Représente un document après reranking (avec score final).
    /// </summary>
    public class RankedDocument
    {
        /// <summary>
        /// Texte du document (chunk).
        /// </summary>
        public string Text { get; set; } = string.Empty;

        /// <summary>
        /// Nom du fichier d'origine.
        /// </summary>
        public string Nom_Fichier { get; set; } = string.Empty;

        /// <summary>
        /// Score attribué par le reranker (cross-encoder).
        /// </summary>
        public float Score { get; set; }

        /// <summary>
        /// Optionnel : id d'origine si nécessaire pour tracer la source.
        /// </summary>
        public string? SourceId { get; set; }

        /// <summary>
        /// Optionnel : métadonnées pour debug / affichage.
        /// </summary>
        public Dictionary<string, object>? Metadata { get; set; }
    }
}
