node_service.proto 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. syntax = "proto3";
  2. package node_service;
  3. service NodeService {
  4. rpc SendPrompt (PromptRequest) returns (Tensor) {}
  5. rpc SendTensor (TensorRequest) returns (Tensor) {}
  6. rpc ResetShard (ResetShardRequest) returns (Empty) {}
  7. rpc GetInferenceResult (GetInferenceResultRequest) returns (InferenceResult) {}
  8. rpc CollectTopology (CollectTopologyRequest) returns (Topology) {}
  9. }
  10. message Shard {
  11. string model_id = 1;
  12. int32 start_layer = 2;
  13. int32 end_layer = 3;
  14. int32 n_layers = 4;
  15. }
  16. message PromptRequest {
  17. Shard shard = 1;
  18. string prompt = 2;
  19. optional string request_id = 3;
  20. }
  21. message TensorRequest {
  22. Shard shard = 1;
  23. Tensor tensor = 2;
  24. optional string request_id = 3;
  25. }
  26. message GetInferenceResultRequest {
  27. string request_id = 1;
  28. }
  29. message InferenceResult {
  30. optional Tensor tensor = 1;
  31. bool is_finished = 2;
  32. }
  33. message Tensor {
  34. bytes tensor_data = 1;
  35. repeated int32 shape = 2;
  36. string dtype = 3;
  37. }
  38. message ResetShardRequest {
  39. Shard shard = 1;
  40. }
  41. message CollectTopologyRequest {
  42. int32 max_depth = 1;
  43. }
  44. message Topology {
  45. map<string, DeviceCapabilities> nodes = 1;
  46. map<string, Peers> peer_graph = 2;
  47. }
  48. message Peers {
  49. repeated string peer_ids = 1;
  50. }
  51. message DeviceCapabilities {
  52. string model = 1;
  53. string chip = 2;
  54. int32 memory = 3;
  55. }
  56. message Empty {}