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
« 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."""
3from __future__ import annotations
5import importlib.metadata
7# -- Version -------------------------------------------------------------------
9try:
10 __version__: str = importlib.metadata.version("lexigram-ai")
11except ImportError:
12 __version__ = "0.0.0"
14# -- Environment Variable Prefixes -------------------------------------------
16ENV_PREFIX: str = "LEX_AI__"
17ENV_NESTED_DELIMITER: str = "__"
19# Default maximum number of tokens to generate in a single completion.
20DEFAULT_MAX_TOKENS: int = 4096
22# Default temperature used when no per-request override is provided.
23DEFAULT_TEMPERATURE: float = 0.7
25# Default timeout (seconds) for a single AI inference request.
26DEFAULT_REQUEST_TIMEOUT_S: int = 60
28# Maximum number of messages retained in a conversation context window.
29DEFAULT_CONTEXT_WINDOW_MESSAGES: int = 50
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]