Refactor imports and enhance service organization in main.py

This commit reorganizes the import statements in main.py for better clarity and structure. It consolidates API endpoint imports and service imports, ensuring a cleaner and more maintainable codebase. Additionally, it updates the print statement for connection loading to improve logging consistency.
This commit is contained in:
Gabriel Luiz Freitas Almeida 2025-09-02 23:10:37 -03:00
parent 50f1663374
commit 003cb1a443

View file

@ -4,6 +4,7 @@ import multiprocessing
import os import os
import subprocess import subprocess
from functools import partial from functools import partial
from starlette.applications import Starlette from starlette.applications import Starlette
from starlette.routing import Route from starlette.routing import Route
@ -11,30 +12,38 @@ from starlette.routing import Route
multiprocessing.set_start_method('spawn', force=True) multiprocessing.set_start_method('spawn', force=True)
# Create process pool FIRST, before any torch/CUDA imports # Create process pool FIRST, before any torch/CUDA imports
from utils.process_pool import process_pool
import torch import torch
# Configuration and setup # API endpoints
from config.settings import clients, INDEX_NAME, INDEX_BODY, SESSION_SECRET from api import (
from utils.gpu_detection import detect_gpu_devices auth,
chat,
connectors,
knowledge_filter,
oidc,
search,
settings,
tasks,
upload,
)
from auth_middleware import optional_auth, require_auth
# Services # Configuration and setup
from services.document_service import DocumentService from config.settings import INDEX_BODY, INDEX_NAME, SESSION_SECRET, clients
from services.search_service import SearchService
from services.task_service import TaskService
from services.auth_service import AuthService
from services.chat_service import ChatService
from services.knowledge_filter_service import KnowledgeFilterService
from services.monitor_service import MonitorService
# Existing services # Existing services
from connectors.service import ConnectorService from connectors.service import ConnectorService
from session_manager import SessionManager from services.auth_service import AuthService
from auth_middleware import require_auth, optional_auth from services.chat_service import ChatService
# API endpoints # Services
from api import upload, search, chat, auth, connectors, tasks, oidc, knowledge_filter, settings from services.document_service import DocumentService
from services.knowledge_filter_service import KnowledgeFilterService
from services.monitor_service import MonitorService
from services.search_service import SearchService
from services.task_service import TaskService
from session_manager import SessionManager
from utils.process_pool import process_pool
print("CUDA available:", torch.cuda.is_available()) print("CUDA available:", torch.cuda.is_available())
print("CUDA version PyTorch was built with:", torch.version.cuda) print("CUDA version PyTorch was built with:", torch.version.cuda)
@ -202,7 +211,7 @@ async def initialize_services():
except Exception as e: except Exception as e:
print(f"[WARNING] Failed to load persisted connections on startup: {e}") print(f"[WARNING] Failed to load persisted connections on startup: {e}")
else: else:
print(f"[CONNECTORS] Skipping connection loading in no-auth mode") print("[CONNECTORS] Skipping connection loading in no-auth mode")
return { return {
'document_service': document_service, 'document_service': document_service,