Spaces:
Sleeping
Sleeping
File size: 2,257 Bytes
e272f4f |
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
from dotenv import load_dotenv
import os
import logging
from pathlib import Path
load_dotenv()
# Logging configuration
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
logger = logging.getLogger(__name__)
class Config:
# Crawling and content configuration
MAX_PAGES_TO_CRAWL = int(os.getenv('MAX_PAGES_TO_CRAWL', 20))
MAX_LINKS_PER_PAGE = int(os.getenv('MAX_LINKS_PER_PAGE', 10))
MAX_CONTEXT_LENGTH = int(os.getenv('MAX_CONTEXT_LENGTH', 4000))
MAX_HISTORY_MESSAGES = int(os.getenv('MAX_HISTORY_MESSAGES', 20))
# Model configuration
EMBEDDING_MODEL = os.getenv('EMBEDDING_MODEL', 'all-MiniLM-L6-v2')
OLLAMA_BASE_URL = os.getenv('OLLAMA_BASE_URL', 'http://localhost:11434')
OLLAMA_MODEL = os.getenv('OLLAMA_MODEL', 'mistral')
# Path configuration
BASE_DIR = Path(__file__).parent.parent
SESSIONS_DIR = os.path.join(BASE_DIR, "sessions")
# Qdrant configuration (new)
QDRANT_HOST = os.getenv('QDRANT_HOST', 'localhost')
QDRANT_PORT = int(os.getenv('QDRANT_PORT', 6333))
QDRANT_COLLECTION_PREFIX = os.getenv('QDRANT_COLLECTION_PREFIX', 'Chat-Bot')
QDRANT_URL = os.getenv('QDRANT_URL', 'https://6fe012ee-5a7c-4304-a77c-293a1888a9cf.us-west-2-0.aws.cloud.qdrant.io')
QDRANT_API_KEY = os.getenv('QDRANT_API_KEY', None) # For cloud version
# MongoDB configuration
MONGO_URI = os.getenv('MONGO_URI', "mongodb+srv://mehulxy21:[email protected]/")
DATABASE_NAME = os.getenv('DATABASE_NAME', "rag_chat_history")
HISTORY_COLLECTION = os.getenv('HISTORY_COLLECTION', "conversations")
@staticmethod
def create_storage_dirs():
"""Create necessary directories for storage"""
os.makedirs(Config.SESSIONS_DIR, exist_ok=True)
logger.info(f"Sessions directory created at: {Config.SESSIONS_DIR}")
# Create data directory if it doesn't exist
data_dir = os.path.join(Config.BASE_DIR, "data")
os.makedirs(data_dir, exist_ok=True)
logger.info(f"Data directory created at: {data_dir}")
# Session Management
SESSION_INACTIVITY_TIMEOUT = 3600 # 1 hour in seconds
SESSION_CLEANUP_INTERVAL = 600 |