54 lines
1.9 KiB
Python
54 lines
1.9 KiB
Python
from bootstrap_env import load_project_env
|
|
|
|
load_project_env()
|
|
|
|
from SimpleLLMFunc import OpenAICompatible
|
|
from functools import lru_cache
|
|
import os
|
|
from typing import Optional
|
|
from dotenv import load_dotenv
|
|
|
|
# Load the .env file under the working directory.
|
|
load_dotenv()
|
|
|
|
|
|
current_file_dir = (
|
|
__file__.rsplit("/", 1)[0] if "/" in __file__ else __file__.rsplit("\\", 1)[0]
|
|
)
|
|
|
|
|
|
class Config:
|
|
JSON_FILE = current_file_dir + "/provider.json"
|
|
INTERFACE_COLLECTION = OpenAICompatible.load_from_json_file(JSON_FILE)
|
|
|
|
BASIC_INTERFACE = INTERFACE_COLLECTION["openrouter"]["anthropic/claude-sonnet-4.6"]
|
|
CODE_INTERFACE = INTERFACE_COLLECTION["openrouter"]["google/gemini-3.1-pro-preview"]
|
|
REASONING_INTERFACE = INTERFACE_COLLECTION["openrouter"]["anthropic/claude-sonnet-4.6"]
|
|
QUICK_INTERFACE = INTERFACE_COLLECTION["openrouter"]["google/gemini-3-flash-preview"]
|
|
MULTIMODALITY_INTERFACE = INTERFACE_COLLECTION["openrouter"]["google/gemini-3-flash-preview"]
|
|
CONTEXT_SUMMARY_INTERFACE = INTERFACE_COLLECTION["openrouter"]["google/gemini-3-flash-preview"]
|
|
|
|
# ==================== Context & Sketch configuration parameters ====================
|
|
|
|
# redis url
|
|
REDIS_DB: int = int(os.getenv("REDIS_DB", 0))
|
|
REDIS_PASSWORD: Optional[str] = os.getenv("REDIS_PASSWORD", None)
|
|
REDIS_HOST: str = os.getenv("REDIS_HOST", "localhost")
|
|
REDIS_PORT: int = int(os.getenv("REDIS_PORT", 9736))
|
|
|
|
# Context storage directory configuration.
|
|
CONTEXT_DIR: str = os.getenv("CONTEXT_DIR", "workspace/data/contexts")
|
|
CONTEXT_MAX_HISTORY_LENGTH: int = int(os.getenv("CONTEXT_MAX_HISTORY_LENGTH", 10))
|
|
CONTEXT_AUTO_SUMMARIZE_TRIGGER: int = int(
|
|
os.getenv("CONTEXT_AUTO_SUMMARIZE_TRIGGER", 1000000)
|
|
)
|
|
|
|
# SketchPad storage directory configuration.
|
|
SKETCH_DIR: str = os.getenv("SKETCH_DIR", "workspace/data/sketches")
|
|
|
|
|
|
@lru_cache()
|
|
def get_config() -> Config:
|
|
"""Get the configuration instance."""
|
|
return Config()
|