File size: 7,996 Bytes
7ecdf4a
20edea9
 
 
 
eb1414a
20edea9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eb1414a
 
6ab1c8e
eb1414a
 
 
 
 
 
 
 
 
 
 
20edea9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# QModel 6 Configuration Template
# ==================================
# Copy this to .env and update values for your environment

# LLM Backend Selection
# Options: "ollama", "hf" (HuggingFace), "gguf" (local GGUF file), or "lmstudio"
LLM_BACKEND=ollama

# ─────────────────────────────────────────────────────────────────────
# OLLAMA BACKEND (if LLM_BACKEND=ollama)
# ─────────────────────────────────────────────────────────────────────
OLLAMA_HOST=http://localhost:11434
OLLAMA_MODEL=minimax-m2.7:cloud
# Available models: llama3.1, mistral, neural-chat, openhermes

# ─────────────────────────────────────────────────────────────────────
# HUGGINGFACE BACKEND (if LLM_BACKEND=hf)
# ─────────────────────────────────────────────────────────────────────
# HF_MODEL_NAME=Qwen/Qwen2-7B-Instruct
# HF_DEVICE=auto              # Options: auto, cuda, cpu
# HF_MAX_NEW_TOKENS=2048
# Popular models:
#   - Qwen/Qwen2-7B-Instruct (excellent Arabic)
#   - mistralai/Mistral-7B-Instruct-v0.2
#   - meta-llama/Llama-2-13b-chat-hf

# ─────────────────────────────────────────────────────────────────────
# GGUF BACKEND (if LLM_BACKEND=gguf)
# ─────────────────────────────────────────────────────────────────────
# GGUF_MODEL_PATH=./models/Qwen3-32B-Q4_K_M.gguf
# GGUF_N_CTX=4096              # Context window size
# GGUF_N_GPU_LAYERS=-1         # -1 = offload all layers to GPU (Metal on Mac)

# ─────────────────────────────────────────────────────────────────────
# LM STUDIO BACKEND (if LLM_BACKEND=lmstudio)
# ─────────────────────────────────────────────────────────────────────
# LMSTUDIO_URL=http://localhost:1234
# LMSTUDIO_MODEL=qwen2.5-7b-instruct   # Model loaded in LM Studio

# ─────────────────────────────────────────────────────────────────────
# EMBEDDING MODEL (shared by all backends)
# ─────────────────────────────────────────────────────────────────────
EMBED_MODEL=intfloat/multilingual-e5-large

# ─────────────────────────────────────────────────────────────────────
# DATA FILES
# ─────────────────────────────────────────────────────────────────────
FAISS_INDEX=QModel.index
METADATA_FILE=metadata.json

# ─────────────────────────────────────────────────────────────────────
# RETRIEVAL SETTINGS
# ─────────────────────────────────────────────────────────────────────
TOP_K_SEARCH=20         # Candidate pool size
TOP_K_RETURN=5          # Final results returned to user

# ─────────────────────────────────────────────────────────────────────
# GENERATION SETTINGS
# ─────────────────────────────────────────────────────────────────────
TEMPERATURE=0.2         # 0.0=deterministic, 1.0=creative
MAX_TOKENS=2048         # Max output length

# ─────────────────────────────────────────────────────────────────────
# SAFETY & QUALITY
# ─────────────────────────────────────────────────────────────────────
# Confidence threshold: Below this score, skip LLM and return "not found"
# Prevents hallucinations but may miss valid results
# Range: 0.0-1.0 (default 0.30)
# Tune up (0.50+) for stricter, tune down (0.20) for looser
CONFIDENCE_THRESHOLD=0.30

# Hadith boost: Score bonus when intent=hadith
# Prevents Quran verses from outranking relevant Hadiths
HADITH_BOOST=0.08

# ─────────────────────────────────────────────────────────────────────
# RANKING
# ─────────────────────────────────────────────────────────────────────
RERANK_ALPHA=0.6        # 60% dense (embedding), 40% sparse (BM25)

# ─────────────────────────────────────────────────────────────────────
# CACHING
# ─────────────────────────────────────────────────────────────────────
CACHE_SIZE=512          # Max cache entries
CACHE_TTL=3600          # Cache expiry in seconds

# ─────────────────────────────────────────────────────────────────────
# SECURITY
# ─────────────────────────────────────────────────────────────────────
ALLOWED_ORIGINS=*       # CORS origins (restrict in production: origin1.com,origin2.com)

# ─────────────────────────────────────────────────────────────────────
# USAGE EXAMPLES
# ─────────────────────────────────────────────────────────────────────
#
# Development (Ollama):
#   LLM_BACKEND=ollama
#   OLLAMA_HOST=http://localhost:11434
#   OLLAMA_MODEL=llama2
#
# Production (HuggingFace GPU):
#   LLM_BACKEND=hf
#   HF_MODEL_NAME=Qwen/Qwen2-7B-Instruct
#   HF_DEVICE=cuda
#
# Production (HuggingFace CPU):
#   LLM_BACKEND=hf
#   HF_MODEL_NAME=Qwen/Qwen2-7B-Instruct
#   HF_DEVICE=cpu