Coverage for /home/admin/Documents/AI/applications/lexigram-dev/lexigram/experimental/ai/lexigram-ai-llm/src/lexigram/ai/llm/constants.py: 93%
27 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"""LLM constants — provider names, defaults, and metric identifiers."""
3from __future__ import annotations
5import importlib.metadata
7try:
8 __version__: str = importlib.metadata.version("lexigram-ai-llm")
9except ImportError:
10 __version__ = "0.0.0"
13# -- Environment Variable Prefixes -------------------------------------------
14ENV_PREFIX: str = "LEX_AI_LLM__"
15"""Environment variable prefix for LLM configuration."""
17ENV_NESTED_DELIMITER: str = "__"
18"""Delimiter for nested env var keys."""
21# ---------------------------------------------------------------------------
22# Provider names
23# ---------------------------------------------------------------------------
25PROVIDER_OPENAI: str = "openai"
26PROVIDER_ANTHROPIC: str = "anthropic"
27PROVIDER_OLLAMA: str = "ollama"
28PROVIDER_COHERE: str = "cohere"
29PROVIDER_GROQ: str = "groq"
30PROVIDER_MISTRAL: str = "mistral"
31PROVIDER_OPENROUTER: str = "openrouter"
33# ---------------------------------------------------------------------------
34# Defaults
35# ---------------------------------------------------------------------------
37DEFAULT_TEMPERATURE: float = 0.7
38DEFAULT_MAX_TOKENS: int = 2048
39DEFAULT_TIMEOUT_S: int = 30
40DEFAULT_MAX_RETRIES: int = 3
42# ---------------------------------------------------------------------------
43# MetricProtocol names
44# ---------------------------------------------------------------------------
46METRIC_LLM_REQUESTS_TOTAL: str = "ai.llm.requests.total"
47METRIC_LLM_REQUEST_DURATION_MS: str = "ai.llm.request.duration_ms"
48METRIC_LLM_TOKENS_INPUT: str = "ai.llm.tokens.input"
49METRIC_LLM_TOKENS_OUTPUT: str = "ai.llm.tokens.output"
50METRIC_LLM_CACHE_HITS: str = "ai.llm.cache.hits"
52__all__ = [
53 "DEFAULT_MAX_RETRIES",
54 "DEFAULT_MAX_TOKENS",
55 "DEFAULT_TEMPERATURE",
56 "DEFAULT_TIMEOUT_S",
57 "ENV_NESTED_DELIMITER",
58 "ENV_PREFIX",
59 "METRIC_LLM_CACHE_HITS",
60 "METRIC_LLM_REQUESTS_TOTAL",
61 "METRIC_LLM_REQUEST_DURATION_MS",
62 "METRIC_LLM_TOKENS_INPUT",
63 "METRIC_LLM_TOKENS_OUTPUT",
64 "PROVIDER_ANTHROPIC",
65 "PROVIDER_COHERE",
66 "PROVIDER_GROQ",
67 "PROVIDER_MISTRAL",
68 "PROVIDER_OLLAMA",
69 "PROVIDER_OPENAI",
70 "PROVIDER_OPENROUTER",
71 "__version__",
72]