89 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
| from dotenv import load_dotenv, find_dotenv
 | |
| import os
 | |
| 
 | |
| 
 | |
| import chromadb
 | |
| from chromadb import Settings
 | |
| 
 | |
| 
 | |
| from secrets import token_bytes
 | |
| from base64 import b64encode
 | |
| 
 | |
| from constants import ERROR_MESSAGES
 | |
| 
 | |
| 
 | |
| from pathlib import Path
 | |
| 
 | |
| load_dotenv(find_dotenv("../.env"))
 | |
| 
 | |
| 
 | |
| ####################################
 | |
| # File Upload
 | |
| ####################################
 | |
| 
 | |
| 
 | |
| UPLOAD_DIR = "./data/uploads"
 | |
| Path(UPLOAD_DIR).mkdir(parents=True, exist_ok=True)
 | |
| 
 | |
| 
 | |
| ####################################
 | |
| # ENV (dev,test,prod)
 | |
| ####################################
 | |
| 
 | |
| ENV = os.environ.get("ENV", "dev")
 | |
| 
 | |
| ####################################
 | |
| # OLLAMA_API_BASE_URL
 | |
| ####################################
 | |
| 
 | |
| OLLAMA_API_BASE_URL = os.environ.get(
 | |
|     "OLLAMA_API_BASE_URL", "http://localhost:11434/api"
 | |
| )
 | |
| 
 | |
| if ENV == "prod":
 | |
|     if OLLAMA_API_BASE_URL == "/ollama/api":
 | |
|         OLLAMA_API_BASE_URL = "http://host.docker.internal:11434/api"
 | |
| 
 | |
| ####################################
 | |
| # OPENAI_API
 | |
| ####################################
 | |
| 
 | |
| OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY", "")
 | |
| OPENAI_API_BASE_URL = os.environ.get("OPENAI_API_BASE_URL", "")
 | |
| 
 | |
| if OPENAI_API_BASE_URL == "":
 | |
|     OPENAI_API_BASE_URL = "https://api.openai.com/v1"
 | |
| 
 | |
| ####################################
 | |
| # WEBUI_VERSION
 | |
| ####################################
 | |
| 
 | |
| WEBUI_VERSION = os.environ.get("WEBUI_VERSION", "v1.0.0-alpha.61")
 | |
| 
 | |
| ####################################
 | |
| # WEBUI_AUTH (Required for security)
 | |
| ####################################
 | |
| 
 | |
| WEBUI_AUTH = True
 | |
| 
 | |
| ####################################
 | |
| # WEBUI_JWT_SECRET_KEY
 | |
| ####################################
 | |
| 
 | |
| WEBUI_JWT_SECRET_KEY = os.environ.get("WEBUI_JWT_SECRET_KEY", "t0p-s3cr3t")
 | |
| 
 | |
| if WEBUI_AUTH and WEBUI_JWT_SECRET_KEY == "":
 | |
|     raise ValueError(ERROR_MESSAGES.ENV_VAR_NOT_FOUND)
 | |
| 
 | |
| ####################################
 | |
| # RAG
 | |
| ####################################
 | |
| 
 | |
| CHROMA_DATA_PATH = "./data/vector_db"
 | |
| EMBED_MODEL = "all-MiniLM-L6-v2"
 | |
| CHROMA_CLIENT = chromadb.PersistentClient(
 | |
|     path=CHROMA_DATA_PATH, settings=Settings(allow_reset=True)
 | |
| )
 | |
| CHUNK_SIZE = 1500
 | |
| CHUNK_OVERLAP = 100
 |