node.py 632 B

12345678910111213141516171819202122232425
  1. from typing import Optional
  2. import numpy as np
  3. from abc import ABC, abstractmethod
  4. from inference.shard import Shard
  5. class Node(ABC):
  6. @abstractmethod
  7. def start(self, wait_for_peers: int = 0) -> None:
  8. pass
  9. @abstractmethod
  10. def stop(self) -> None:
  11. pass
  12. @abstractmethod
  13. def process_tensor(self, shard: Shard, tensor: np.ndarray, target: Optional[str] = None) -> None:
  14. pass
  15. @abstractmethod
  16. def process_prompt(self, shard: Shard, prompt: str, target: Optional[str] = None) -> None:
  17. pass
  18. @abstractmethod
  19. def reset_shard(self, shard: Shard) -> None:
  20. pass