Spaces:
Sleeping
Sleeping
| # config.py | |
| import os | |
| from dotenv import load_dotenv | |
| # --- load .env so OPENAI_API_KEY (and others) are available --- | |
| BASE_DIR = os.path.dirname(os.path.abspath(__file__)) | |
| # Load environment variables - priority: Hugging Face secrets > .env file | |
| IS_HUGGING_FACE = os.environ.get('HUGGINGFACE_SPACES') == 'true' or os.environ.get('SPACE_ID') is not None | |
| if not IS_HUGGING_FACE: | |
| # Only load from .env file when running locally | |
| load_dotenv(os.path.join(BASE_DIR, ".env")) | |
| else: | |
| # On Hugging Face, secrets are automatically available as environment variables | |
| print("Running on Hugging Face Spaces - using secrets from environment variables") | |
| if IS_HUGGING_FACE: | |
| # Hugging Face Spaces configuration | |
| DEFAULT_SQL_SERVER = "pykara-sqlserver.c5aosm6ie5j3.eu-north-1.rds.amazonaws.com,1433" | |
| DEFAULT_SQL_DB = "PyMatch" | |
| DEFAULT_SQL_TRUSTED = "yes" # Use SQL authentication on Hugging Face | |
| else: | |
| # Local development configuration | |
| DEFAULT_SQL_SERVER = "PYKARA" | |
| DEFAULT_SQL_DB = "newdatabse" | |
| DEFAULT_SQL_TRUSTED = "yes" # Use Windows authentication locally | |
| SQL_DRIVER = os.getenv("PYMATCH_SQL_DRIVER", "ODBC Driver 17 for SQL Server") | |
| SQL_SERVER = os.getenv("PYMATCH_SQL_SERVER", DEFAULT_SQL_SERVER) | |
| SQL_DB = os.getenv("PYMATCH_SQL_DB", DEFAULT_SQL_DB) | |
| SQL_TRUSTED = os.getenv("PYMATCH_SQL_TRUSTED", DEFAULT_SQL_TRUSTED) # yes/no | |
| SQL_USER = os.getenv("PYMATCH_SQL_USER", "") | |
| SQL_PASSWORD = os.getenv("PYMATCH_SQL_PASSWORD", "") | |
| SQL_PORT = os.getenv("PYMATCH_SQL_PORT", "") | |
| SQL_ENCRYPT = os.getenv("PYMATCH_SQL_ENCRYPT", "no").lower().strip() | |
| SQL_TRUSTCERT = os.getenv("PYMATCH_SQL_TRUST_CERT", "yes").lower().strip() | |
| PROGRESS_TBL = os.getenv("PYMATCH_PROGRESS_TABLE", "LLMGeneratedQuestions") | |
| DEFAULT_N_QUESTIONS = int(os.getenv("PYMATCH_DEFAULT_N_QUESTIONS", "20")) | |
| DEFAULT_BATCH_SIZE = int(os.getenv("PYMATCH_DEFAULT_BATCH_SIZE", "10")) | |
| MAX_QUESTIONS = int(os.getenv("PYMATCH_MAX_QUESTIONS", "50")) | |
| # Some constants used across the app | |
| COLOR_KEYS = ["blue", "green", "red", "yellow"] | |
| DOMAINS = ["marriage", "interview", "partnership", "general"] | |
| # # Faiss index / chunks defaults - user should update FAISS_INDEX_PATH or provide companion chunks file | |
| # FAISS_INDEX_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), "faiss_index_file.index") |