Coverage for /home/admin/Documents/AI/applications/lexigram-dev/lexigram/experimental/ai/lexigram-ai-rag/src/lexigram/ai/rag/constants.py: 90%

21 statements  

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

1"""RAG constants — pipeline defaults, chunk limits, and metric names.""" 

2 

3from __future__ import annotations 

4 

5import importlib.metadata 

6 

7try: 

8 __version__: str = importlib.metadata.version("lexigram-ai-rag") 

9except ImportError: 

10 __version__ = "0.0.0" 

11 

12 

13# -- Environment Variable Prefixes ------------------------------------------- 

14ENV_PREFIX: str = "LEX_AI_RAG__" 

15"""Environment variable prefix for RAG configuration.""" 

16 

17ENV_NESTED_DELIMITER: str = "__" 

18"""Delimiter for nested env var keys.""" 

19 

20 

21# --------------------------------------------------------------------------- 

22# Chunking defaults 

23# --------------------------------------------------------------------------- 

24 

25DEFAULT_CHUNK_SIZE: int = 512 

26DEFAULT_CHUNK_OVERLAP: int = 50 

27 

28# --------------------------------------------------------------------------- 

29# Retrieval defaults 

30# --------------------------------------------------------------------------- 

31 

32DEFAULT_TOP_K: int = 5 

33DEFAULT_SIMILARITY_THRESHOLD: float = 0.7 

34DEFAULT_RERANKING_TOP_N: int = 3 

35 

36# --------------------------------------------------------------------------- 

37# Cache 

38# --------------------------------------------------------------------------- 

39 

40DEFAULT_QUERY_CACHE_TTL_S: int = 3600 

41DEFAULT_EMBEDDING_CACHE_SIZE: int = 10_000 

42 

43# --------------------------------------------------------------------------- 

44# MetricProtocol names 

45# --------------------------------------------------------------------------- 

46 

47METRIC_RAG_PIPELINE_DURATION_MS: str = "ai.rag.pipeline.duration_ms" 

48METRIC_RAG_RETRIEVED_CHUNKS: str = "ai.rag.retrieved.chunks" 

49METRIC_RAG_CACHE_HITS: str = "ai.rag.cache.hits" 

50 

51__all__ = [ 

52 "DEFAULT_CHUNK_OVERLAP", 

53 "DEFAULT_CHUNK_SIZE", 

54 "DEFAULT_EMBEDDING_CACHE_SIZE", 

55 "DEFAULT_QUERY_CACHE_TTL_S", 

56 "DEFAULT_RERANKING_TOP_N", 

57 "DEFAULT_SIMILARITY_THRESHOLD", 

58 "DEFAULT_TOP_K", 

59 "ENV_NESTED_DELIMITER", 

60 "ENV_PREFIX", 

61 "METRIC_RAG_CACHE_HITS", 

62 "METRIC_RAG_PIPELINE_DURATION_MS", 

63 "METRIC_RAG_RETRIEVED_CHUNKS", 

64 "__version__", 

65]