Initial commit
This commit is contained in:
0
hsbg_ai/backend/services/__init__.py
Normal file
0
hsbg_ai/backend/services/__init__.py
Normal file
24
hsbg_ai/backend/services/ai_service.py
Normal file
24
hsbg_ai/backend/services/ai_service.py
Normal file
@@ -0,0 +1,24 @@
|
||||
"""Service IA — façade pour le moteur de décision."""
|
||||
from backend.ai.engine.decision_engine import DecisionEngine, FullAdvice
|
||||
from backend.ai.learning.feedback_processor import FeedbackProcessor
|
||||
import structlog
|
||||
|
||||
log = structlog.get_logger()
|
||||
|
||||
|
||||
class AIService:
|
||||
def __init__(self, settings):
|
||||
self.settings = settings
|
||||
self.engine = DecisionEngine(settings)
|
||||
self.feedback = FeedbackProcessor(settings)
|
||||
|
||||
async def initialize(self):
|
||||
await self.engine.initialize()
|
||||
log.info("ai_service.ready")
|
||||
|
||||
async def get_advice(self, state: dict) -> FullAdvice:
|
||||
return await self.engine.get_advice(state)
|
||||
|
||||
async def shutdown(self):
|
||||
await self.engine.shutdown()
|
||||
log.info("ai_service.stopped")
|
||||
26
hsbg_ai/backend/services/vision_service.py
Normal file
26
hsbg_ai/backend/services/vision_service.py
Normal file
@@ -0,0 +1,26 @@
|
||||
"""Service Vision — façade pour le gestionnaire de captures d'écran."""
|
||||
from backend.vision.screenshot_manager import ScreenshotManager
|
||||
import structlog
|
||||
|
||||
log = structlog.get_logger()
|
||||
|
||||
|
||||
class VisionService:
|
||||
def __init__(self, settings):
|
||||
self.settings = settings
|
||||
self._mgr = ScreenshotManager(settings)
|
||||
|
||||
async def start(self):
|
||||
await self._mgr.start()
|
||||
|
||||
async def stop(self):
|
||||
await self._mgr.stop()
|
||||
|
||||
def get_current_state(self) -> dict:
|
||||
return self._mgr.get_state()
|
||||
|
||||
def get_screenshot_b64(self) -> str | None:
|
||||
return self._mgr.get_b64()
|
||||
|
||||
async def capture_now(self) -> dict:
|
||||
return await self._mgr.capture_now()
|
||||
Reference in New Issue
Block a user