Spaces:
Running
Running
| import os | |
| from dotenv import load_dotenv | |
| load_dotenv() | |
| def get_env_var( | |
| name: str, required: bool = True, default: str | None = None | |
| ) -> str | None: | |
| val = os.getenv(name, default) | |
| if required and not val: | |
| raise ValueError(f"Missing required environment variable: {name}") | |
| return val | |
| proxy_key = os.getenv("PROXY_API_KEY") | |
| proxy_base = os.getenv("PROXY_BASE_URL") | |
| openai_key = os.getenv("OPENAI_API_KEY") | |
| openai_base = os.getenv("OPENAI_BASE_URL") | |
| api_key = proxy_key or openai_key | |
| if not api_key: | |
| raise ValueError( | |
| "Missing API key: set PROXY_API_KEY or OPENAI_API_KEY in environment/secrets." | |
| ) | |
| base_url = proxy_base or openai_base or "https://api.openai.com/v1" | |
| os.environ["OPENAI_API_KEY"] = api_key | |
| os.environ["OPENAI_BASE_URL"] = base_url | |
| MODE = "proxy" if proxy_key else "direct" | |
| OPENAI_API_KEY = api_key | |
| OPENAI_BASE_URL = base_url | |
| LLM_MODEL = os.getenv("OPENAI_MODEL", "gpt-4o-mini") # or gpt-4o, gpt-4o-mini | |
| LLM_TEMPERATURE = float(os.getenv("LLM_TEMPERATURE", "0")) | |
| FORBIDDEN_KEYWORDS = { | |
| "ATTACH", | |
| "PRAGMA", | |
| "CREATE", | |
| "DROP", | |
| "ALTER", | |
| "VACUUM", | |
| "REINDEX", | |
| "TRIGGER", | |
| "INSERT", | |
| "UPDATE", | |
| "DELETE", | |
| "REPLACE", | |
| "GRANT", | |
| "REVOKE", | |
| "BEGIN", | |
| "END", | |
| "COMMIT", | |
| "ROLLBACK", | |
| "DETACH", | |
| } | |
| FORBIDDEN_TABLES = {"sqlite_master", "sqlite_temp_master"} | |