import os import logging def setup_logging(): logging.basicConfig( format='%(asctime)s %(message)s', datefmt='%Y-%m-%d %I:%M:%S %p', level=logging.INFO ) return logging.getLogger('backend') class Config: # External services GAI_API_KEY = os.environ['GAI_API_KEY'] PINECONE_API_KEY = os.environ['PINECONE_API_KEY'] WANDB_API_KEY = os.environ['WANDB_API_KEY'] WANDB_PROJECT = os.environ['WANDB_PROJECT'] # Model settings TEXT_MODEL_NAME = os.getenv('TEXT_MODEL_NAME', 'gemini-1.5-flash') EMB_MODEL_NAME = os.getenv('EMB_MODEL_NAME', 'models/text-embedding-004') PC_INDEX_NAME = os.getenv('PC_INDEX_NAME', 'main-index') PC_INDEX_NAMESPACE = os.getenv('PC_INDEX_NAMESPACE', 'main') CONTEXT_WINDOW = int(os.getenv('CONTEXT_WINDOW', 32768)) NUM_OUTPUT = int(os.getenv('NUM_OUTPUT', 4098)) TEXT_CHUNK_SIZE = int(os.getenv('TEXT_CHUNK_SIZE', 2048)) TEXT_CHUNK_OVERLAP = int(os.getenv('TEXT_CHUNK_OVERLAP', 200)) TEXT_CHUNK_OVERLAP_RATIO = float(os.getenv('TEXT_CHUNK_OVERLAP_RATIO', 0.1)) TEXT_CHUNK_SIZE_LIMIT = os.getenv('TEXT_CHUNK_SIZE_LIMIT', None) SIMILARITY_THRESHOLD = float(os.getenv('SIMILARITY_THRESHOLD', 0.7))