-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.py
More file actions
29 lines (21 loc) · 873 Bytes
/
config.py
File metadata and controls
29 lines (21 loc) · 873 Bytes
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
# config.py
import os
from pathlib import Path
from dotenv import load_dotenv
# ---------------- Env & paths ----------------
load_dotenv()
BASE_FAQ_PATH = os.getenv("BASE_FAQ_PATH", "basic_faq.csv")
FALLBACK_PATH = os.getenv("FALLBACK_PATH", "fallback.csv")
GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")
if not GEMINI_API_KEY:
raise RuntimeError("Set GEMINI_API_KEY in your .env (GEMINI_API_KEY=...)")
EMBED_MODEL = os.getenv("EMBED_MODEL", "text-embedding-004")
GENERATE_MODEL = os.getenv("GENERATE_MODEL", "gemini-1.5-flash")
TOP_K = int(os.getenv("TOP_K", "8"))
THRESHOLD = float(os.getenv("THRESHOLD", "0.60"))
HYBRID_ALPHA = float(os.getenv("HYBRID_ALPHA", "0.65"))
USE_SPELLCHECK = os.getenv("USE_SPELLCHECK", "0") == "1"
FAISS_DIR = Path(".faiss")
LOG_DIR = Path("logs")
FAISS_DIR.mkdir(exist_ok=True)
LOG_DIR.mkdir(exist_ok=True)