41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
# src/constants.py
|
|
"""Application-wide constants and configuration values."""
|
|
import os
|
|
|
|
APP_VERSION = "1.0.0"
|
|
|
|
# Base paths
|
|
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + "/"
|
|
STATIC_DIR = os.path.join(BASE_DIR, "static")
|
|
DATA_DIR = os.path.join(BASE_DIR, "data")
|
|
|
|
# Data file paths
|
|
SESSIONS_FILE = os.path.join(DATA_DIR, "sessions.json")
|
|
MEMORY_FILE = os.path.join(DATA_DIR, "memory.json")
|
|
MEMORY_DOC = os.path.join(DATA_DIR, "memory_doc.md")
|
|
PERSONAL_DIR = os.path.join(DATA_DIR, "personal_docs")
|
|
RUNBOOK_DIR = os.path.join(PERSONAL_DIR, "runbook")
|
|
UPLOAD_DIR = os.path.join(DATA_DIR, "uploads")
|
|
FEATURES_FILE = os.path.join(DATA_DIR, "features.json")
|
|
SETTINGS_FILE = os.path.join(DATA_DIR, "settings.json")
|
|
|
|
# API Configuration
|
|
MAX_CONTEXT_MESSAGES = 90
|
|
REQUEST_TIMEOUT = 20
|
|
OPENAI_COMPAT_PATH = "/v1/chat/completions"
|
|
|
|
# Environment variables with defaults
|
|
DEFAULT_HOST = os.getenv("LLM_HOST", "localhost")
|
|
LLM_HOSTS = [h.strip() for h in os.getenv("LLM_HOSTS", "").split(",") if h.strip()]
|
|
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
|
|
SEARXNG_INSTANCE = os.getenv('SEARXNG_INSTANCE', 'http://localhost:8080')
|
|
|
|
|
|
# Cleanup configuration
|
|
CLEANUP_ENABLED = os.getenv("CLEANUP_ENABLED", "True").lower() == "true"
|
|
CLEANUP_INTERVAL_HOURS = int(os.getenv("CLEANUP_INTERVAL_HOURS", "24"))
|
|
|
|
# Default parameters
|
|
DEFAULT_TEMPERATURE = 1.0
|
|
DEFAULT_MAX_TOKENS = 0
|