Spaces:
Sleeping
Sleeping
Melika Kheirieh
commited on
Commit
·
8ee86d2
1
Parent(s):
cdc2a04
feat(config): unify proxy and direct OpenAI env handling
Browse files- config.py +22 -35
- requirements.txt +1 -0
config.py
CHANGED
|
@@ -1,50 +1,37 @@
|
|
| 1 |
import os
|
| 2 |
from dotenv import load_dotenv
|
| 3 |
|
| 4 |
-
# ----------------------------
|
| 5 |
-
# Load .env
|
| 6 |
-
# ----------------------------
|
| 7 |
load_dotenv()
|
| 8 |
|
| 9 |
|
| 10 |
def get_env_var(name: str, required: bool = True, default: str | None = None) -> str | None:
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
if required and not value:
|
| 14 |
raise ValueError(f"Missing required environment variable: {name}")
|
| 15 |
-
return
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
if
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
# ----------------------------
|
| 36 |
-
OPENAI_API_KEY = os.environ["OPENAI_API_KEY"]
|
| 37 |
-
OPENAI_BASE_URL = os.environ.get("OPENAI_BASE_URL", "https://api.openai.com/v1")
|
| 38 |
-
|
| 39 |
-
# ----------------------------
|
| 40 |
-
# Optional logging for clarity
|
| 41 |
-
# ----------------------------
|
| 42 |
-
print(f"[config] Mode: {MODE.upper()} | Base URL: {OPENAI_BASE_URL}")
|
| 43 |
|
| 44 |
LLM_MODEL = os.getenv("OPENAI_MODEL", "gpt-4o-mini") # or gpt-4o, gpt-4o-mini
|
| 45 |
LLM_TEMPERATURE = float(os.getenv("LLM_TEMPERATURE", "0"))
|
| 46 |
|
| 47 |
-
# Hard blocks (defense-in-depth)
|
| 48 |
FORBIDDEN_KEYWORDS = {
|
| 49 |
"ATTACH", "PRAGMA",
|
| 50 |
"CREATE", "DROP", "ALTER", "VACUUM", "REINDEX", "TRIGGER",
|
|
|
|
| 1 |
import os
|
| 2 |
from dotenv import load_dotenv
|
| 3 |
|
|
|
|
|
|
|
|
|
|
| 4 |
load_dotenv()
|
| 5 |
|
| 6 |
|
| 7 |
def get_env_var(name: str, required: bool = True, default: str | None = None) -> str | None:
|
| 8 |
+
val = os.getenv(name, default)
|
| 9 |
+
if required and not val:
|
|
|
|
| 10 |
raise ValueError(f"Missing required environment variable: {name}")
|
| 11 |
+
return val
|
| 12 |
+
|
| 13 |
+
proxy_key = os.getenv("PROXY_API_KEY")
|
| 14 |
+
proxy_base = os.getenv("PROXY_BASE_URL")
|
| 15 |
+
openai_key = os.getenv("OPENAI_API_KEY")
|
| 16 |
+
openai_base = os.getenv("OPENAI_BASE_URL")
|
| 17 |
+
|
| 18 |
+
api_key = proxy_key or openai_key
|
| 19 |
+
if not api_key:
|
| 20 |
+
raise ValueError("Missing API key: set PROXY_API_KEY or OPENAI_API_KEY in environment/secrets.")
|
| 21 |
+
|
| 22 |
+
base_url = proxy_base or openai_base or "https://api.openai.com/v1"
|
| 23 |
+
|
| 24 |
+
os.environ["OPENAI_API_KEY"] = api_key
|
| 25 |
+
os.environ["OPENAI_BASE_URL"] = base_url
|
| 26 |
+
|
| 27 |
+
MODE = "proxy" if proxy_key else "direct"
|
| 28 |
+
OPENAI_API_KEY = api_key
|
| 29 |
+
OPENAI_BASE_URL = base_url
|
| 30 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 31 |
|
| 32 |
LLM_MODEL = os.getenv("OPENAI_MODEL", "gpt-4o-mini") # or gpt-4o, gpt-4o-mini
|
| 33 |
LLM_TEMPERATURE = float(os.getenv("LLM_TEMPERATURE", "0"))
|
| 34 |
|
|
|
|
| 35 |
FORBIDDEN_KEYWORDS = {
|
| 36 |
"ATTACH", "PRAGMA",
|
| 37 |
"CREATE", "DROP", "ALTER", "VACUUM", "REINDEX", "TRIGGER",
|
requirements.txt
CHANGED
|
@@ -4,3 +4,4 @@ langchain-openai
|
|
| 4 |
sqlglot
|
| 5 |
openai
|
| 6 |
python-dotenv
|
|
|
|
|
|
| 4 |
sqlglot
|
| 5 |
openai
|
| 6 |
python-dotenv
|
| 7 |
+
dotenv
|