config.py 1.74 KB
Newer Older
Timothy J. Baek's avatar
Timothy J. Baek committed
1
from dotenv import load_dotenv, find_dotenv
2
3
import os
import chromadb
4
5
6

from secrets import token_bytes
from base64 import b64encode
Timothy J. Baek's avatar
Timothy J. Baek committed
7

8
from constants import ERROR_MESSAGES
Timothy J. Baek's avatar
Timothy J. Baek committed
9

Timothy J. Baek's avatar
Timothy J. Baek committed
10
load_dotenv(find_dotenv("../.env"))
Timothy J. Baek's avatar
Timothy J. Baek committed
11

12
13
14
15
####################################
# ENV (dev,test,prod)
####################################

Timothy J. Baek's avatar
Timothy J. Baek committed
16
17
ENV = os.environ.get("ENV", "dev")

18
19
20
21
####################################
# OLLAMA_API_BASE_URL
####################################

22
23
24
OLLAMA_API_BASE_URL = os.environ.get(
    "OLLAMA_API_BASE_URL", "http://localhost:11434/api"
)
Timothy J. Baek's avatar
Timothy J. Baek committed
25
26
27
28

if ENV == "prod":
    if OLLAMA_API_BASE_URL == "/ollama/api":
        OLLAMA_API_BASE_URL = "http://host.docker.internal:11434/api"
29

Timothy J. Baek's avatar
Timothy J. Baek committed
30
31
32
33
34
####################################
# OPENAI_API
####################################

OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY", "")
35
36
37
38
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"
Timothy J. Baek's avatar
Timothy J. Baek committed
39

40
####################################
41
# WEBUI_VERSION
42
43
####################################

Timothy J. Baek's avatar
Timothy J. Baek committed
44
WEBUI_VERSION = os.environ.get("WEBUI_VERSION", "v1.0.0-alpha.50")
45
46

####################################
47
# WEBUI_AUTH (Required for security)
48
49
####################################

50
WEBUI_AUTH = True
51

Timothy J. Baek's avatar
Timothy J. Baek committed
52
53
54
55
56
####################################
# WEBUI_JWT_SECRET_KEY
####################################

WEBUI_JWT_SECRET_KEY = os.environ.get("WEBUI_JWT_SECRET_KEY", "t0p-s3cr3t")
57

Timothy J. Baek's avatar
Timothy J. Baek committed
58
59
if WEBUI_AUTH and WEBUI_JWT_SECRET_KEY == "":
    raise ValueError(ERROR_MESSAGES.ENV_VAR_NOT_FOUND)
60
61
62
63
64
65
66
67
68
69

####################################
# RAG
####################################

CHROMA_DATA_PATH = "./data/vector_db"
EMBED_MODEL = "all-MiniLM-L6-v2"
CHROMA_CLIENT = chromadb.PersistentClient(path=CHROMA_DATA_PATH)
CHUNK_SIZE = 1500
CHUNK_OVERLAP = 100