Coverage for /home/admin/Documents/AI/applications/lexigram-dev/lexigram/experimental/ai/lexigram-ai-rag/src/lexigram/ai/rag/reranking/types.py: 100%

10 statements  

« prev     ^ index     » next       coverage.py v7.15.4, created at 2026-08-25 07:19 +0800

1"""Types for reranking operations.""" 

2 

3from __future__ import annotations 

4 

5from dataclasses import dataclass, field 

6 

7 

8@dataclass(frozen=True) 

9class RerankResult: 

10 """Result of a reranking operation. 

11 

12 Attributes: 

13 documents: Reranked documents (most relevant first). 

14 scores: Relevance scores (parallel to documents). 

15 original_count: Number of documents passed to reranker. 

16 reranked_count: Number of documents returned (may be < original if top_k applied). 

17 model_name: Name of the reranking model used. 

18 metadata: Additional reranking metadata. 

19 """ 

20 

21 documents: list[str] 

22 scores: list[float] 

23 original_count: int 

24 reranked_count: int 

25 model_name: str 

26 metadata: dict = field(default_factory=dict)