Spaces:
Runtime error
Runtime error
import os | |
from datetime import timedelta | |
class Config: | |
# Basic Flask config | |
SECRET_KEY = os.environ.get('SECRET_KEY', 'super-secret-not-for-production') | |
# JWT config | |
JWT_SECRET_KEY = os.environ.get('JWT_SECRET_KEY', 'another-super-secret-jwt-key') | |
JWT_ACCESS_TOKEN_EXPIRES = timedelta(hours=1) | |
# Database config | |
SQLALCHEMY_DATABASE_URI = os.environ.get( | |
"DATABASE_URL", | |
"sqlite:///" + os.path.join(os.path.dirname(os.path.abspath(__file__)), 'legal_docs.db') | |
) | |
# Model config | |
MODEL_CACHE_SIZE = 1000 | |
MAX_CONTEXT_LENGTH = 1028 | |
MAX_ANSWER_LENGTH = 256 | |
# CORS config | |
CORS_ORIGINS = os.environ.get('CORS_ORIGINS', '*').split(',') | |
# Logging config | |
LOG_LEVEL = os.environ.get('LOG_LEVEL', 'INFO') | |
LOG_FILE = os.environ.get('LOG_FILE', 'app.log') | |
class DevelopmentConfig(Config): | |
DEBUG = True | |
TESTING = False | |
class ProductionConfig(Config): | |
DEBUG = False | |
TESTING = False | |
# Add production-specific settings | |
JWT_ACCESS_TOKEN_EXPIRES = timedelta(hours=24) | |
LOG_LEVEL = 'WARNING' | |
class TestingConfig(Config): | |
TESTING = True | |
DEBUG = True | |
# Use in-memory database for testing | |
SQLALCHEMY_DATABASE_URI = 'sqlite:///:memory:' | |
# Configuration dictionary | |
config = { | |
'development': DevelopmentConfig, | |
'production': ProductionConfig, | |
'testing': TestingConfig, | |
'default': DevelopmentConfig | |
} |