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"}