File size: 1,225 Bytes
37b6839
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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))