Coverage for src/lexigram/ai/constants.py: 100%

13 statements  

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

1"""AI core constants — shared defaults and limits for the AI subsystem.""" 

2 

3from __future__ import annotations 

4 

5import importlib.metadata 

6 

7# -- Version ------------------------------------------------------------------- 

8 

9try: 

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

11except ImportError: 

12 __version__ = "0.0.0" 

13 

14# -- Environment Variable Prefixes ------------------------------------------- 

15 

16ENV_PREFIX: str = "LEX_AI__" 

17ENV_NESTED_DELIMITER: str = "__" 

18 

19# Default maximum number of tokens to generate in a single completion. 

20DEFAULT_MAX_TOKENS: int = 4096 

21 

22# Default temperature used when no per-request override is provided. 

23DEFAULT_TEMPERATURE: float = 0.7 

24 

25# Default timeout (seconds) for a single AI inference request. 

26DEFAULT_REQUEST_TIMEOUT_S: int = 60 

27 

28# Maximum number of messages retained in a conversation context window. 

29DEFAULT_CONTEXT_WINDOW_MESSAGES: int = 50 

30 

31__all__ = [ 

32 "DEFAULT_CONTEXT_WINDOW_MESSAGES", 

33 "DEFAULT_MAX_TOKENS", 

34 "DEFAULT_REQUEST_TIMEOUT_S", 

35 "DEFAULT_TEMPERATURE", 

36 "ENV_NESTED_DELIMITER", 

37 "ENV_PREFIX", 

38]