quantumbit commited on
Commit
4cc9df6
·
verified ·
1 Parent(s): a022b57

Delete config

Browse files
Files changed (2) hide show
  1. config/__init__.py +0 -1
  2. config/config.py +0 -142
config/__init__.py DELETED
@@ -1 +0,0 @@
1
- # Config Package
 
 
config/config.py DELETED
@@ -1,142 +0,0 @@
1
- # RAG Configuration File
2
- # Update these settings as needed
3
-
4
- import os
5
- from dotenv import load_dotenv
6
-
7
- # Load environment variables from .env file
8
- load_dotenv()
9
-
10
- # Common LLM Settings
11
- MAX_TOKENS = 1200
12
- TEMPERATURE = 0.4
13
-
14
- # OCR Settings
15
- OCR_SPACE_API_KEY = os.getenv("OCR_SPACE_API_KEY", "")
16
-
17
- # OpenAI Settings
18
- OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "")
19
- OPENAI_MODEL = "gpt-3.5-turbo"
20
-
21
- # Gemini Settings
22
- GEMINI_API_KEY = os.getenv("GEMINI_API_KEY", "")
23
- GEMINI_MODEL = "gemini-1.5-flash"
24
-
25
- # Groq Settings
26
- GROQ_API_KEY = os.getenv("GROQ_API_KEY")
27
- GROQ_MODEL = os.getenv("GROQ_MODEL", "llama3-70b-8192")
28
-
29
- GROQ_API_KEY_LITE = os.getenv("GROQ_API_KEY_LITE")
30
- GROQ_MODEL_LITE = "llama3-8b-8192"
31
-
32
- # API Authentication
33
- BEARER_TOKEN = os.getenv("BEARER_TOKEN", "c6cee5b5046310e401632a7effe9c684d071a9ef5ce09b96c9ec5c3ebd13085e")
34
-
35
- # Chunking (TOKEN-BASED)
36
- CHUNK_SIZE = 1600 # Maximum tokens per chunk (optimal for most LLMs)
37
- CHUNK_OVERLAP = 300 # Token overlap between chunks (reduced for efficiency)
38
-
39
- # Retrieval Settings
40
- TOP_K = 12
41
- SCORE_THRESHOLD = 0.3
42
- RERANK_TOP_K = 9
43
- BM25_WEIGHT = 0.3
44
- SEMANTIC_WEIGHT = 0.7
45
-
46
- # Advanced RAG Settings
47
- ENABLE_RERANKING = True
48
- ENABLE_HYBRID_SEARCH = True
49
- ENABLE_QUERY_EXPANSION = True
50
- RERANKER_MODEL = "cross-encoder/ms-marco-MiniLM-L-6-v2"
51
- QUERY_EXPANSION_COUNT = 3
52
- MAX_CONTEXT_LENGTH = 15000
53
-
54
- USE_TOTAL_BUDGET_APPROACH = True
55
-
56
- # Embedding Settings
57
- EMBEDDING_MODEL = "BAAI/bge-large-en" # Optimal for CPU
58
- BATCH_SIZE = 32 # Increased for better CPU utilization (adjust based on RAM)
59
-
60
- # Paths
61
- OUTPUT_DIR = os.getenv("RAG_EMBEDDINGS_PATH", "./RAG/rag_embeddings")
62
-
63
- # API Settings
64
- API_HOST = "0.0.0.0"
65
- API_PORT = 8000
66
- API_RELOAD = True
67
-
68
- # Multi-LLM failover system
69
- sequence = ["primary", "secondary", "ternary", "quaternary", "quinary", "senary", "septenary", "octonary", "nonary", "denary"]
70
-
71
- def get_provider_configs():
72
- """
73
- Get configurations for all provider instances with failover support.
74
- Supports multiple instances of each provider type for reliability.
75
- """
76
- configs = {
77
- "groq": [],
78
- "gemini": [],
79
- "openai": []
80
- }
81
-
82
- # Groq configurations with multiple API keys for failover
83
- DEFAULT_GROQ_MODEL = "qwen/qwen3-32b"
84
- configs["groq"] = [{
85
- "name": sequence[i-1],
86
- "api_key": os.getenv(f"GROQ_API_KEY_{i}"),
87
- "model": os.getenv(f"GROQ_MODEL_{i}", DEFAULT_GROQ_MODEL)} for i in range(1, 10) if os.getenv(f"GROQ_API_KEY_{i}", "")
88
- ]
89
-
90
- # Add main GROQ key as primary
91
- if os.getenv("GROQ_API_KEY"):
92
- configs["groq"].insert(0, {
93
- "name": "main",
94
- "api_key": os.getenv("GROQ_API_KEY"),
95
- "model": DEFAULT_GROQ_MODEL
96
- })
97
-
98
- # Gemini configurations with multiple API keys for failover
99
- DEFAULT_GEMINI_MODEL = "gemini-1.5-flash"
100
- configs["gemini"] = [{
101
- "name": sequence[i-1],
102
- "api_key": os.getenv(f"GEMINI_API_KEY_{i}"),
103
- "model": os.getenv(f"GEMINI_MODEL_{i}", DEFAULT_GEMINI_MODEL)
104
- } for i in range(1, 10) if os.getenv(f"GEMINI_API_KEY_{i}", "")
105
- ]
106
-
107
- # Add main GEMINI key as primary
108
- if os.getenv("GEMINI_API_KEY"):
109
- configs["gemini"].insert(0, {
110
- "name": "main",
111
- "api_key": os.getenv("GEMINI_API_KEY"),
112
- "model": DEFAULT_GEMINI_MODEL
113
- })
114
-
115
- # OpenAI configurations with multiple API keys for failover
116
- DEFAULT_OPENAI_MODEL = "gpt-4o-mini"
117
- configs["openai"] = [{
118
- "name": sequence[i-1],
119
- "api_key": os.getenv(f"OPENAI_API_KEY_{i}"),
120
- "model": os.getenv(f"OPENAI_MODEL_{i}", DEFAULT_OPENAI_MODEL)
121
- } for i in range(1, 10) if os.getenv(f"OPENAI_API_KEY_{i}", "")
122
- ]
123
-
124
- # Add main OPENAI key as primary
125
- if os.getenv("OPENAI_API_KEY"):
126
- configs["openai"].insert(0, {
127
- "name": "main",
128
- "api_key": os.getenv("OPENAI_API_KEY"),
129
- "model": DEFAULT_OPENAI_MODEL
130
- })
131
-
132
- return configs
133
-
134
- # Specialized API keys for different tasks
135
- GROQ_API_KEY_TABULAR = os.getenv("GROQ_API_KEY_TABULAR", GROQ_API_KEY)
136
- GEMINI_API_KEY_IMAGE = os.getenv("GEMINI_API_KEY_IMAGE", GEMINI_API_KEY)
137
- GEMINI_API_KEY_MULTILINGUAL = os.getenv("GEMINI_API_KEY_MULTILINGUAL", GEMINI_API_KEY)
138
-
139
- # Validation (optional - comment out for production)
140
- # assert OPENAI_API_KEY, "OPENAI KEY NOT SET"
141
- # assert GEMINI_API_KEY, "GEMINI KEY NOT SET"
142
- # assert GROQ_API_KEY, "GROQ KEY NOT SET"