2023-11-15 01:28:51 +01:00
|
|
|
from dotenv import load_dotenv, find_dotenv
|
2024-01-07 07:59:22 +01:00
|
|
|
import os
|
2024-01-07 10:40:36 +01:00
|
|
|
|
|
|
|
|
2024-01-07 07:59:22 +01:00
|
|
|
import chromadb
|
2024-01-07 10:40:36 +01:00
|
|
|
from chromadb import Settings
|
|
|
|
|
2023-11-19 01:47:12 +01:00
|
|
|
|
|
|
|
from secrets import token_bytes
|
|
|
|
from base64 import b64encode
|
2023-12-26 06:44:28 +01:00
|
|
|
|
2024-01-07 07:59:22 +01:00
|
|
|
from constants import ERROR_MESSAGES
|
2023-11-15 01:28:51 +01:00
|
|
|
|
2024-01-07 10:40:36 +01:00
|
|
|
|
|
|
|
from pathlib import Path
|
|
|
|
|
2023-12-05 08:17:51 +01:00
|
|
|
load_dotenv(find_dotenv("../.env"))
|
2023-11-15 01:28:51 +01:00
|
|
|
|
2024-01-07 10:40:36 +01:00
|
|
|
|
|
|
|
####################################
|
|
|
|
# File Upload
|
|
|
|
####################################
|
|
|
|
|
|
|
|
|
|
|
|
UPLOAD_DIR = "./data/uploads"
|
|
|
|
Path(UPLOAD_DIR).mkdir(parents=True, exist_ok=True)
|
|
|
|
|
|
|
|
|
2023-11-19 01:47:12 +01:00
|
|
|
####################################
|
|
|
|
# ENV (dev,test,prod)
|
|
|
|
####################################
|
|
|
|
|
2023-11-15 01:28:51 +01:00
|
|
|
ENV = os.environ.get("ENV", "dev")
|
|
|
|
|
2023-11-19 01:47:12 +01:00
|
|
|
####################################
|
|
|
|
# OLLAMA_API_BASE_URL
|
|
|
|
####################################
|
|
|
|
|
2024-01-07 07:59:22 +01:00
|
|
|
OLLAMA_API_BASE_URL = os.environ.get(
|
|
|
|
"OLLAMA_API_BASE_URL", "http://localhost:11434/api"
|
|
|
|
)
|
2023-11-15 01:28:51 +01:00
|
|
|
|
|
|
|
if ENV == "prod":
|
|
|
|
if OLLAMA_API_BASE_URL == "/ollama/api":
|
|
|
|
OLLAMA_API_BASE_URL = "http://host.docker.internal:11434/api"
|
2023-11-19 01:47:12 +01:00
|
|
|
|
2024-01-05 01:49:34 +01:00
|
|
|
####################################
|
|
|
|
# OPENAI_API
|
|
|
|
####################################
|
|
|
|
|
|
|
|
OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY", "")
|
2024-01-05 03:38:03 +01:00
|
|
|
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"
|
2024-01-05 01:49:34 +01:00
|
|
|
|
2023-11-19 01:47:12 +01:00
|
|
|
####################################
|
2023-11-19 09:41:29 +01:00
|
|
|
# WEBUI_VERSION
|
2023-11-19 01:47:12 +01:00
|
|
|
####################################
|
|
|
|
|
2024-01-08 07:14:08 +01:00
|
|
|
WEBUI_VERSION = os.environ.get("WEBUI_VERSION", "v1.0.0-alpha.61")
|
2023-11-19 01:47:12 +01:00
|
|
|
|
|
|
|
####################################
|
2023-12-26 07:14:06 +01:00
|
|
|
# WEBUI_AUTH (Required for security)
|
2023-11-19 01:47:12 +01:00
|
|
|
####################################
|
|
|
|
|
2023-12-26 07:14:06 +01:00
|
|
|
WEBUI_AUTH = True
|
2023-11-19 01:47:12 +01:00
|
|
|
|
2023-11-21 01:22:43 +01:00
|
|
|
####################################
|
|
|
|
# WEBUI_JWT_SECRET_KEY
|
|
|
|
####################################
|
|
|
|
|
|
|
|
WEBUI_JWT_SECRET_KEY = os.environ.get("WEBUI_JWT_SECRET_KEY", "t0p-s3cr3t")
|
2023-11-19 01:47:12 +01:00
|
|
|
|
2023-11-21 01:22:43 +01:00
|
|
|
if WEBUI_AUTH and WEBUI_JWT_SECRET_KEY == "":
|
|
|
|
raise ValueError(ERROR_MESSAGES.ENV_VAR_NOT_FOUND)
|
2024-01-07 07:59:22 +01:00
|
|
|
|
|
|
|
####################################
|
|
|
|
# RAG
|
|
|
|
####################################
|
|
|
|
|
|
|
|
CHROMA_DATA_PATH = "./data/vector_db"
|
|
|
|
EMBED_MODEL = "all-MiniLM-L6-v2"
|
2024-01-07 10:40:36 +01:00
|
|
|
CHROMA_CLIENT = chromadb.PersistentClient(
|
|
|
|
path=CHROMA_DATA_PATH, settings=Settings(allow_reset=True)
|
|
|
|
)
|
2024-01-07 07:59:22 +01:00
|
|
|
CHUNK_SIZE = 1500
|
|
|
|
CHUNK_OVERLAP = 100
|