import os

OLLAMA_SERVER = os.environ.get('OLLAMA_SERVER')
OLLAMA_URL = OLLAMA_SERVER
CHAT_ENDPOINT = '/api/chat'  
MAX_LEN = 1000
OLLAMA_MODEL = os.environ.get('OLLAMA_MODEL', '.llama3:latest')
OLLAMA_TIMEOUT = int(os.environ.get('OLLAMA_TIMEOUT', 120))  
OLLAMA_TEMPERATURE = float(os.environ.get('OLLAMA_TEMPERATURE', 0.7))
OLLAMA_TOP_P = float(os.environ.get('OLLAMA_TOP_P', 0.9))
OLLAMA_TOP_K = int(os.environ.get('OLLAMA_TOP_K', 40))

WHISPER_MODEL = os.environ.get('WHISPER_MODEL', "base")

DEBUG_STR = os.environ.get('FLASK_DEBUG', 'True')
DEBUG = DEBUG_STR.lower() in ('true', '1', 't')

SECRET_KEY = os.environ.get('SECRET_KEY', 'dev_key_change_this_in_production')

RETRY_TOTAL = int(os.environ.get('RETRY_TOTAL', 3))
RETRY_BACKOFF_FACTOR = float(os.environ.get('RETRY_BACKOFF_FACTOR', 1))

RETRY_STATUS_FORCELIST_STR = os.environ.get('RETRY_STATUS_FORCELIST', "502,503,504")
RETRY_STATUS_FORCELIST = [int(s.strip()) for s in RETRY_STATUS_FORCELIST_STR.split(',') if s.strip()]

RETRY_ALLOWED_METHODS_STR = os.environ.get('RETRY_ALLOWED_METHODS', "POST")
RETRY_ALLOWED_METHODS = [s.strip().upper() for s in RETRY_ALLOWED_METHODS_STR.split(',') if s.strip()]

UPLOAD_FOLDER = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'uploads')
MAX_CONTENT_LENGTH = 1024 * 1024 * 1024  
ALLOWED_EXTENSIONS = {
    'txt', 'pdf', 'csv', 'xlsx', 'doc', 'docx', 'xls', 'json', 'md', 
    'png', 'jpg', 'jpeg', 'gif', 'wav', 'mp3', 'mp4', 'ogg'
}

CHATGPT_API_KEY = os.environ.get('CHATGPT_API_KEY')