feat: add embedding management functionality with routes, services, and UI integration

This commit is contained in:
Will Miao
2025-07-25 21:14:56 +08:00
parent ea8a64fafc
commit c5a3af2399
10 changed files with 376 additions and 8 deletions

View File

@@ -174,6 +174,27 @@ class ServiceRegistry:
logger.debug(f"Registered {service_name}")
return ws_manager
@classmethod
async def get_embedding_scanner(cls):
"""Get or create Embedding scanner instance"""
service_name = "embedding_scanner"
if service_name in cls._services:
return cls._services[service_name]
async with cls._get_lock(service_name):
# Double-check after acquiring lock
if service_name in cls._services:
return cls._services[service_name]
# Import here to avoid circular imports
from .embedding_scanner import EmbeddingScanner
scanner = await EmbeddingScanner.get_instance()
cls._services[service_name] = scanner
logger.debug(f"Created and registered {service_name}")
return scanner
@classmethod
def clear_services(cls):
"""Clear all registered services - mainly for testing"""