File size: 1,433 Bytes
d4cf06c
bacf7a6
d4cf06c
3c72c9d
d4cf06c
 
456400f
bacf7a6
 
 
456400f
 
3c72c9d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60f2a58
3c72c9d
 
 
 
 
 
d4cf06c
 
 
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
import os
import warnings
from dotenv import load_dotenv

load_dotenv()

GROQ_API_KEY = os.getenv("GROQ_API_KEY", "")
if not GROQ_API_KEY:
    warnings.warn("GROQ_API_KEY not set β€” LLM calls will fail")

_BASE = os.path.dirname(os.path.abspath(__file__))

GROQ_MODEL    = "llama-3.3-70b-versatile"
DOCS_DIR      = os.path.join(_BASE, "docs")

# ── ChromaDB (replaces FAISS) ──────────────────────────
CHROMA_PATH        = os.path.join(_BASE, "chroma_db")
CHROMA_COLLECTION  = "rag_docs"

# ── BM25 (still persisted with pickle) ────────────────
BM25_PATH     = os.path.join(_BASE, "bm25.pkl")

# ── SQLite session memory (replaces in-memory dict) ───
SQLITE_PATH   = os.path.join(_BASE, "sessions.db")

# ── Model names ───────────────────────────────────────
EMBEDDER_NAME  = "all-MiniLM-L6-v2"
RERANKER_MODEL = "cross-encoder/ms-marco-MiniLM-L-6-v2"

# ── Chunking ──────────────────────────────────────────
CHUNK_SIZE    = 500
CHUNK_OVERLAP = 50

# ── Retrieval ─────────────────────────────────────────
TOP_K             = 5
MAX_RETRIES       = 3
MAX_HISTORY_TURNS = 5