Spaces:
Running
Running
File size: 1,376 Bytes
a82f275 c1bc4eb 8ee86d2 a82f275 8ee86d2 c1bc4eb 8ee86d2 c1bc4eb 8ee86d2 a82f275 c1bc4eb a82f275 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
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"}
|