muhammadbinmurtza
Restructure: clauseguard as package subfolder, app_file: clauseguard/app.py
913a064
"""Application configuration loaded from environment variables.
Supports Qwen via vLLM (default) and any OpenAI-compatible API as fallback.
"""
import os
from typing import Final
from dotenv import load_dotenv
load_dotenv()
API_KEY: str = os.environ.get("API_KEY", os.environ.get("DEEPSEEK_API_KEY", "EMPTY"))
BASE_URL: str = os.environ.get(
"BASE_URL",
os.environ.get("VLLM_BASE_URL", "http://165.245.141.170:8000/v1"),
)
MODEL_NAME: str = os.environ.get(
"MODEL_NAME",
os.environ.get("VLLM_MODEL_NAME", "Qwen/Qwen2.5-1.5B-Instruct"),
)
MAX_TOKENS: Final[int] = int(os.environ.get("MAX_TOKENS", "4096"))
TIMEOUT_SECONDS: Final[int] = int(os.environ.get("TIMEOUT_SECONDS", "120"))
MAX_CLAUSES: Final[int] = 60
TEMPERATURE: Final[float] = 0.0
DEEPSEEK_API_KEY: str = API_KEY
def validate_config() -> None:
"""Validate that all required configuration is present.
For Qwen/vLLM, no API key is required — the check is informational.
Raises ValueError only if a legacy DeepSeek key is expected and missing.
"""
pass