config.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. from dotenv import load_dotenv, find_dotenv
  2. import os
  3. import chromadb
  4. from secrets import token_bytes
  5. from base64 import b64encode
  6. from constants import ERROR_MESSAGES
  7. load_dotenv(find_dotenv("../.env"))
  8. ####################################
  9. # ENV (dev,test,prod)
  10. ####################################
  11. ENV = os.environ.get("ENV", "dev")
  12. ####################################
  13. # OLLAMA_API_BASE_URL
  14. ####################################
  15. OLLAMA_API_BASE_URL = os.environ.get(
  16. "OLLAMA_API_BASE_URL", "http://localhost:11434/api"
  17. )
  18. if ENV == "prod":
  19. if OLLAMA_API_BASE_URL == "/ollama/api":
  20. OLLAMA_API_BASE_URL = "http://host.docker.internal:11434/api"
  21. ####################################
  22. # OPENAI_API
  23. ####################################
  24. OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY", "")
  25. OPENAI_API_BASE_URL = os.environ.get("OPENAI_API_BASE_URL", "")
  26. if OPENAI_API_BASE_URL == "":
  27. OPENAI_API_BASE_URL = "https://api.openai.com/v1"
  28. ####################################
  29. # WEBUI_VERSION
  30. ####################################
  31. WEBUI_VERSION = os.environ.get("WEBUI_VERSION", "v1.0.0-alpha.50")
  32. ####################################
  33. # WEBUI_AUTH (Required for security)
  34. ####################################
  35. WEBUI_AUTH = True
  36. ####################################
  37. # WEBUI_JWT_SECRET_KEY
  38. ####################################
  39. WEBUI_JWT_SECRET_KEY = os.environ.get("WEBUI_JWT_SECRET_KEY", "t0p-s3cr3t")
  40. if WEBUI_AUTH and WEBUI_JWT_SECRET_KEY == "":
  41. raise ValueError(ERROR_MESSAGES.ENV_VAR_NOT_FOUND)
  42. ####################################
  43. # RAG
  44. ####################################
  45. CHROMA_DATA_PATH = "./data/vector_db"
  46. EMBED_MODEL = "all-MiniLM-L6-v2"
  47. CHROMA_CLIENT = chromadb.PersistentClient(path=CHROMA_DATA_PATH)
  48. CHUNK_SIZE = 1500
  49. CHUNK_OVERLAP = 100