constants.py

Code Hygiene Score: 100

Keine Issues gefunden.

Code

"""
Zentrale Konstanten für die KI-System Pipeline.

Diese Datei enthält alle häufig verwendeten "Magic Numbers" als
benannte Konstanten für bessere Lesbarkeit und Wartbarkeit.
"""

# =============================================================================
# PAGINATION & LIMITS
# =============================================================================

DEFAULT_LIMIT = 100
"""Standard-Limit für Datenbankabfragen."""

BATCH_LIMIT = 1000
"""Maximum für Batch-Operationen."""

DEFAULT_OFFSET = 0
"""Standard-Offset für Pagination."""

# =============================================================================
# TIME CONVERSIONS
# =============================================================================

MS_PER_SECOND = 1000
"""Millisekunden pro Sekunde."""

SECONDS_PER_MINUTE = 60
"""Sekunden pro Minute."""

MINUTES_PER_HOUR = 60
"""Minuten pro Stunde."""

HOURS_PER_DAY = 24
"""Stunden pro Tag."""

DAYS_PER_YEAR = 365
"""Tage pro Jahr."""

SECONDS_PER_HOUR = 3600
"""Sekunden pro Stunde."""

SECONDS_PER_DAY = 86400
"""Sekunden pro Tag."""

# =============================================================================
# PERCENTAGES
# =============================================================================

PERCENT_FULL = 100
"""100 Prozent (für Berechnungen)."""

PERCENT_HALF = 50
"""50 Prozent."""

# =============================================================================
# TIMEOUTS (in Sekunden)
# =============================================================================

HTTP_TIMEOUT = 30
"""Standard-Timeout für HTTP-Requests."""

LLM_TIMEOUT = 120
"""Timeout für LLM-Anfragen."""

HEALTH_CHECK_TIMEOUT = 5
"""Health-Check Timeout."""

OLLAMA_TIMEOUT = 60
"""Timeout für Ollama-Anfragen."""

TEST_TIMEOUT = 600
"""Erweiterter Timeout für Tests (10 Minuten)."""

# =============================================================================
# CHUNKING & TEXT
# =============================================================================

MIN_CHUNK_SIZE = 100
"""Minimale Chunk-Größe in Zeichen."""

MAX_CHUNK_SIZE = 2000
"""Maximale Chunk-Größe in Zeichen."""

CHUNK_OVERLAP_PERCENT = 10
"""Chunk-Overlap in Prozent."""

# =============================================================================
# RETRY & BACKOFF
# =============================================================================

MAX_RETRIES = 3
"""Maximale Anzahl Wiederholungsversuche."""

RETRY_BACKOFF_BASE = 2
"""Basis für exponentielles Backoff in Sekunden."""

# =============================================================================
# EMBEDDING & VECTORS
# =============================================================================

EMBEDDING_DIMENSION = 1024
"""Dimension der Embedding-Vektoren."""

EMBEDDING_BATCH_SIZE = 100
"""Batch-Größe für Embedding-Operationen."""

# =============================================================================
# SCORE THRESHOLDS
# =============================================================================

SCORE_GOOD = 80
"""Minimum-Score für 'gut'."""

SCORE_ACCEPTABLE = 60
"""Minimum-Score für 'akzeptabel'."""

SCORE_HARD_FAIL = 20
"""Hard-Fail Score bei kritischen Issues."""

# =============================================================================
# LLM CONFIGURATION
# =============================================================================

LLM_MAX_TOKENS = 2000
"""Maximale Tokens für LLM-Antworten."""

PROMPT_TEXT_LIMIT = 3500
"""Maximale Textlänge für Prompts."""

PROMPT_TEXT_LIMIT_SHORT = 2500
"""Kürzere Textlänge für kompakte Prompts."""
← Übersicht