""" Project's config """ import os from dotenv import load_dotenv from pydantic_settings import BaseSettings, SettingsConfigDict BASE_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../')) load_dotenv(os.path.join(BASE_DIR, '.env')) class Settings(BaseSettings): # model config MODEL_ID: str = os.getenv('MODEL_ID') MAX_NEW_TOKENS: int = int(os.getenv("MAX_NEW_TOKENS")) MODEL_API_KEY: str = os.getenv('MODEL_API_KEY') #openai config OPENAI_API_KEY: str = os.getenv("OPENAI_API_KEY") OPENAI_MODEL: str = os.getenv("OPENAI_MODEL") OPENAI_EMBEDDING_MODEL: str = os.getenv("OPENAI_EMBEDDING_MODEL") OPENAI_EMBEDDING_MODEL_DIMS: int = int(os.getenv("OPENAI_EMBEDDING_MODEL_DIMS")) #helpers config COHERE_API_KEY: str = os.getenv("COHERE_API_KEY") MAX_NEW_TOKENS: int = int(os.getenv('MAX_NEW_TOKENS')) MAX_OVERLAPS: int = int(os.getenv("MAX_OVERLAPS")) # server config SV_HOST: str = os.getenv('SV_HOST') SV_PORT: int = int(os.getenv('SV_PORT')) # embedding model config EMBEDDING_MODEL: str = os.getenv('EMBEDDING_MODEL') EMBEDDING_MODEL_API_KEY: str = os.getenv('EMBEDDING_MODEL_API_KEY') EMBEDDING_MODEL_DIMENSIONS: int = int(os.getenv('EMBEDDING_MODEL_DIMENSIONS')) #data and database path CHROMA_DIR: str = os.getenv("CHROMA_DIR") CHROMA_COLLECTION: str = os.getenv("CHROMA_COLLECTION") CSS_PATH: str = os.getenv("CSS_PATH") RAW_DATA_DIR: str = os.getenv("RAW_DATA_DIR") settings = Settings()