| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- """
- ML Training Command Classes
- This module implements commands for ML model training management.
- """
- from typing import Optional, Dict, Any
- from dataclasses import dataclass, field
- from .base import TrixyCommand, CommandResponse, ValidationError
- @dataclass
- class TrainingStartCommand(TrixyCommand):
- """Command to start ML training."""
-
- training_type: str = field(default="") # wakeword, voice_recognition
- model_name: str = field(default="")
- training_config: Dict[str, Any] = field(default_factory=dict)
-
- def validate(self) -> bool:
- if not self.training_type:
- raise ValidationError("TrainingStartCommand must have a training_type")
- return True
-
- def get_command_name(self) -> str:
- return "TrainingStartCommand"
- @dataclass
- class TrainingStopCommand(TrixyCommand):
- """Command to stop ML training."""
-
- training_id: str = field(default="")
-
- def validate(self) -> bool:
- return True
-
- def get_command_name(self) -> str:
- return "TrainingStopCommand"
- @dataclass
- class TrainingStatusCommand(TrixyCommand):
- """Command to get training status."""
-
- training_id: str = field(default="")
-
- def validate(self) -> bool:
- return True
-
- def get_command_name(self) -> str:
- return "TrainingStatusCommand"
- @dataclass
- class TrainingStartResponse(CommandResponse):
- """Response to training start command."""
-
- training_started: bool = field(default=False)
- training_id: str = field(default="")
-
- def validate(self) -> bool:
- return True
-
- def get_response_name(self) -> str:
- return "TrainingStartResponse"
- @dataclass
- class TrainingStopResponse(CommandResponse):
- """Response to training stop command."""
-
- training_stopped: bool = field(default=False)
-
- def validate(self) -> bool:
- return True
-
- def get_response_name(self) -> str:
- return "TrainingStopResponse"
- @dataclass
- class TrainingStatusResponse(CommandResponse):
- """Response to training status command."""
-
- training_status: str = field(default="unknown")
- progress_data: Dict[str, Any] = field(default_factory=dict)
-
- def validate(self) -> bool:
- return True
-
- def get_response_name(self) -> str:
- return "TrainingStatusResponse"
- __all__ = [
- "TrainingStartCommand", "TrainingStopCommand", "TrainingStatusCommand",
- "TrainingStartResponse", "TrainingStopResponse", "TrainingStatusResponse"
- ]
|