peer_handle.py 650 B

12345678910111213141516171819202122232425262728
  1. from abc import ABC, abstractmethod
  2. from typing import Optional
  3. import numpy as np
  4. from inference.shard import Shard
  5. class PeerHandle(ABC):
  6. def id(self) -> str:
  7. pass
  8. @abstractmethod
  9. async def connect(self) -> None:
  10. pass
  11. @abstractmethod
  12. async def disconnect(self) -> None:
  13. pass
  14. @abstractmethod
  15. async def send_prompt(self, shard: Shard, prompt: str) -> Optional[np.array]:
  16. pass
  17. @abstractmethod
  18. async def send_tensor(self, shard: Shard, tensor: np.array) -> Optional[np.array]:
  19. pass
  20. @abstractmethod
  21. async def reset_shard(self, shard: Shard) -> None:
  22. pass