module_arguments.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. from dataclasses import dataclass, field
  2. from typing import Optional
  3. @dataclass
  4. class ModuleArguments:
  5. device: Optional[str] = field(
  6. default=None,
  7. metadata={"help": "If specified, overrides the device for all handlers."},
  8. )
  9. mode: Optional[str] = field(
  10. default="socket",
  11. metadata={
  12. "help": "The mode to run the pipeline in. Either 'local' or 'socket'. Default is 'socket'."
  13. },
  14. )
  15. local_mac_optimal_settings: bool = field(
  16. default=False,
  17. metadata={
  18. "help": "If specified, sets the optimal settings for Mac OS. Hence whisper-mlx, MLX LM and MeloTTS will be used."
  19. },
  20. )
  21. stt: Optional[str] = field(
  22. default="whisper",
  23. metadata={
  24. "help": "The STT to use. Either 'whisper', 'whisper-mlx', 'faster-whisper', and 'paraformer'. Default is 'whisper'."
  25. },
  26. )
  27. llm: Optional[str] = field(
  28. default="transformers",
  29. metadata={
  30. "help": "The LLM to use. Either 'transformers' or 'mlx-lm'. Default is 'transformers'"
  31. },
  32. )
  33. tts: Optional[str] = field(
  34. default="parler",
  35. metadata={
  36. "help": "The TTS to use. Either 'parler', 'melo', 'chatTTS' or 'facebookMMS'. Default is 'parler'"
  37. },
  38. )
  39. log_level: str = field(
  40. default="info",
  41. metadata={
  42. "help": "Provide logging level. Example --log_level debug, default=info."
  43. },
  44. )