MinaNasser commited on
Commit
96cc3c6
·
1 Parent(s): ab701b8
Files changed (2) hide show
  1. config.py +24 -23
  2. requirements.txt +1 -0
config.py CHANGED
@@ -1,59 +1,60 @@
1
  from pydantic_settings import BaseSettings
2
  from functools import lru_cache
 
3
 
4
 
5
  class Settings(BaseSettings):
6
  DEBUG: bool = False
7
- APP_NAME: str
8
  QDRANT_COLLECTION: str = "docs"
9
 
10
- CustomLoaders: bool = None
11
  QDRANT_TYPE: str = "docker"
12
  QDRANT_DOCKER_URL: str = "http://localhost:6333"
13
- QDRANT_API_KEY: str = None
14
  CHUNK_SIZE: int = 1000
15
- CHUNK_OVERLAP: int = None
16
- CHUNK_METHOD: str = None
17
- GRADE_WEBHOOK_URL: str = None
18
  REDIS_HOST: str = "localhost"
19
  REDIS_PORT: int = 6379
20
- CALLBACK_URL: str = None
21
 
22
  # ---------- BACKENDS ----------
23
  GENERATION_BACKEND: str = "OLLAMA"
24
  EMBEDDING_BACKEND: str = "OLLAMA"
25
 
26
  # ---------- API KEYS ----------
27
- OPENAI_API_KEY: str = None
28
- OPENAI_API_URL: str = None
29
 
30
- COHERE_API_KEY: str = None
31
 
32
  OLLAMA_URL: str = "http://localhost:11434"
33
- OLLAMA_API_KEY: str = None
34
 
35
- MISTRAL_API_KEY: str = None
36
 
37
- GROQ_API_KEY: str = None
38
 
39
- OPENROUTER_API_KEY: str = None
40
- OPENROUTER_SITE_URL: str = "http://localhost" # forwarded as HTTP-Referer
41
- OPENROUTER_APP_NAME: str = "IntegraRAG" # forwarded as X-Title
42
  OPENROUTER_SEARCH_MODEL: str = "perplexity/sonar-online"
43
 
44
- HF_API_KEY: str = None
45
 
46
- DEEPSEEK_API_KEY: str = None
47
 
48
- GEMINI_API_KEY: str = None
49
 
50
  # ---------- MODELS ----------
51
  GENERATION_MODEL_ID: str = "deepseek-v3.1:671b-cloud"
52
  EMBEDDING_MODEL_ID: str = "embeddinggemma:latest"
53
  EMBEDDING_MODEL_SIZE: int = 768
54
- INPUT_DAFAULT_MAX_CHARACTERS: int = None
55
- GENERATION_DAFAULT_MAX_TOKENS: int = None
56
- GENERATION_DAFAULT_TEMPERATURE: float = None
57
 
58
  class Config:
59
  env_file = ".env"
@@ -61,4 +62,4 @@ class Settings(BaseSettings):
61
 
62
  @lru_cache
63
  def get_settings():
64
- return Settings()
 
1
  from pydantic_settings import BaseSettings
2
  from functools import lru_cache
3
+ from typing import Optional
4
 
5
 
6
  class Settings(BaseSettings):
7
  DEBUG: bool = False
8
+ APP_NAME: str = "IntegraRAG"
9
  QDRANT_COLLECTION: str = "docs"
10
 
11
+ CustomLoaders: Optional[bool] = None
12
  QDRANT_TYPE: str = "docker"
13
  QDRANT_DOCKER_URL: str = "http://localhost:6333"
14
+ QDRANT_API_KEY: Optional[str] = None
15
  CHUNK_SIZE: int = 1000
16
+ CHUNK_OVERLAP: Optional[int] = None
17
+ CHUNK_METHOD: Optional[str] = None
18
+ GRADE_WEBHOOK_URL: Optional[str] = None
19
  REDIS_HOST: str = "localhost"
20
  REDIS_PORT: int = 6379
21
+ CALLBACK_URL: Optional[str] = None
22
 
23
  # ---------- BACKENDS ----------
24
  GENERATION_BACKEND: str = "OLLAMA"
25
  EMBEDDING_BACKEND: str = "OLLAMA"
26
 
27
  # ---------- API KEYS ----------
28
+ OPENAI_API_KEY: Optional[str] = None
29
+ OPENAI_API_URL: Optional[str] = None
30
 
31
+ COHERE_API_KEY: Optional[str] = None
32
 
33
  OLLAMA_URL: str = "http://localhost:11434"
34
+ OLLAMA_API_KEY: Optional[str] = None
35
 
36
+ MISTRAL_API_KEY: Optional[str] = None
37
 
38
+ GROQ_API_KEY: Optional[str] = None
39
 
40
+ OPENROUTER_API_KEY: Optional[str] = None
41
+ OPENROUTER_SITE_URL: str = "http://localhost"
42
+ OPENROUTER_APP_NAME: str = "IntegraRAG"
43
  OPENROUTER_SEARCH_MODEL: str = "perplexity/sonar-online"
44
 
45
+ HF_API_KEY: Optional[str] = None
46
 
47
+ DEEPSEEK_API_KEY: Optional[str] = None
48
 
49
+ GEMINI_API_KEY: Optional[str] = None
50
 
51
  # ---------- MODELS ----------
52
  GENERATION_MODEL_ID: str = "deepseek-v3.1:671b-cloud"
53
  EMBEDDING_MODEL_ID: str = "embeddinggemma:latest"
54
  EMBEDDING_MODEL_SIZE: int = 768
55
+ INPUT_DAFAULT_MAX_CHARACTERS: Optional[int] = None
56
+ GENERATION_DAFAULT_MAX_TOKENS: Optional[int] = None
57
+ GENERATION_DAFAULT_TEMPERATURE: Optional[float] = None
58
 
59
  class Config:
60
  env_file = ".env"
 
62
 
63
  @lru_cache
64
  def get_settings():
65
+ return Settings()
requirements.txt CHANGED
@@ -5,6 +5,7 @@ pdfplumber==0.11.7
5
  python-docx==1.2.0
6
  pandas==2.3.3
7
  langchain==1.0.2
 
8
  unstructured==0.18.15
9
  PyMuPDF==1.26.5
10
  docx2txt==0.9
 
5
  python-docx==1.2.0
6
  pandas==2.3.3
7
  langchain==1.0.2
8
+ langchain-text-splitters
9
  unstructured==0.18.15
10
  PyMuPDF==1.26.5
11
  docx2txt==0.9