You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

inference.api 7.9 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  1. syntax = "v1"
  2. import (
  3. "../schedule/pcm-schedule.api"
  4. )
  5. type (
  6. /******************image inference*************************/
  7. DeployInstance {
  8. Id string `json:"id"`
  9. DeployTaskId string `json:"deployTaskId"`
  10. InstanceId string `json:"instanceId"`
  11. InstanceName string `json:"instanceName"`
  12. AdapterId string `json:"adapterId"`
  13. AdapterName string `json:"adapterName"`
  14. ClusterId string `json:"clusterId"`
  15. ClusterName string `json:"clusterName"`
  16. ModelName string `json:"modelName"`
  17. ModelType string `json:"modelType"`
  18. InferCard string `json:"inferCard"`
  19. Status string `json:"status"`
  20. CreateTime string `json:"createTime"`
  21. UpdateTime string `json:"updateTime"`
  22. ClusterType string `json:"clusterType"`
  23. }
  24. /******************image inference*************************/
  25. ModelTypesResp {
  26. ModelTypes []string `json:"types"`
  27. }
  28. ModelNamesReq {
  29. Type string `form:"type"`
  30. }
  31. ModelNamesResp {
  32. ModelNames []string `json:"models"`
  33. }
  34. /******************image inference*************************/
  35. /******************instance center*************************/
  36. InstanceCenterReq{
  37. InstanceType int32 `form:"instance_type"`
  38. InstanceClass string `form:"instance_class,optional"`
  39. InstanceName string `form:"instance_name,optional"`
  40. }
  41. InstanceCenterResp {
  42. InstanceCenterList []InstanceCenterList `json:"instanceCenterList" copier:"InstanceCenterList"`
  43. Code int32 `json:"code,omitempty"`
  44. Msg string `json:"msg,omitempty"`
  45. ErrorMsg string `json:"errorMsg,omitempty"`
  46. TotalCount int `json:"totalCount"`
  47. }
  48. InstanceCenterList {
  49. LogoPath string `json:"logo_path"`
  50. InstanceName string `json:"instance_name"`
  51. InstanceType int32 `json:"instance_type"`
  52. InstanceClass string `json:"instance_class"`
  53. InstanceClassChinese string `json:"instance_class_chinese"`
  54. Description string `json:"description"`
  55. Version string `json:"version"`
  56. }
  57. /******************instance center*************************/
  58. ImageInferenceReq {
  59. TaskName string `form:"taskName"`
  60. TaskDesc string `form:"taskDesc"`
  61. ModelType string `form:"modelType"`
  62. InstanceIds []int64 `form:"instanceIds"`
  63. Strategy string `form:"strategy,,optional"`
  64. StaticWeightMap map[string]map[string]int32 `form:"staticWeightMap,optional"`
  65. Replica int32 `form:"replicas,optional"`
  66. }
  67. ImageInferenceResp {
  68. InferResults []*ImageResult `json:"result"`
  69. }
  70. ImageResult {
  71. ClusterId string `json:"clusterId"`
  72. ClusterName string `json:"clusterName"`
  73. ImageName string `json:"imageName"`
  74. Card string `json:"card"`
  75. ImageResult string `json:"imageResult"`
  76. }
  77. InferenceTaskDetailReq{
  78. taskId int64 `form:"taskId"`
  79. }
  80. InferenceTaskDetailResp{
  81. InferenceResults []InferenceResult `json:"data"`
  82. Code int32 `json:"code,omitempty"`
  83. Msg string `json:"msg,omitempty"`
  84. }
  85. InferenceResult{
  86. imageName string `json:"imageName"`
  87. TaskName string `json:"taskName"`
  88. TaskAiName string `json:"taskAiName"`
  89. result string `json:"result"`
  90. card string `json:"card"`
  91. clusterName string `json:"clusterName"`
  92. }
  93. /******************TextToText inference*************************/
  94. TextToTextInferenceReq{
  95. TaskName string `form:"taskName"`
  96. TaskDesc string `form:"taskDesc"`
  97. ModelType string `form:"modelType"`
  98. InstanceId int64 `form:"instanceId"`
  99. }
  100. TextToTextInferenceResp{
  101. }
  102. /******************TextToImage inference*************************/
  103. TextToImageInferenceReq{
  104. TaskName string `form:"taskName"`
  105. TaskDesc string `form:"taskDesc"`
  106. ModelName string `form:"modelName"`
  107. ModelType string `form:"modelType"`
  108. AiClusterIds []string `form:"aiClusterIds"`
  109. }
  110. TextToImageInferenceResp{
  111. Result []byte `json:"result"`
  112. }
  113. /******************Deploy instance*************************/
  114. GetDeployInstanceReq{
  115. AdapterId string `form:"adapterId"`
  116. ClusterId string `form:"clusterId"`
  117. Id string `form:"id"`
  118. InstanceId string `form:"instanceId"`
  119. }
  120. GetDeployInstanceResp {
  121. Instance interface{} `json:"instance"`
  122. }
  123. DeployInstanceListReq{
  124. PageInfo
  125. UserId int64 `form:"userId,optional"`
  126. UserName string `form:"userName,optional"`
  127. }
  128. DeployInstanceListResp {
  129. PageResult
  130. }
  131. StartDeployInstanceReq {
  132. AdapterId string `form:"adapterId"`
  133. ClusterId string `form:"clusterId"`
  134. Id string `form:"id"`
  135. InstanceId string `form:"instanceId"`
  136. }
  137. StartDeployInstanceResp {
  138. }
  139. StopDeployInstanceReq {
  140. AdapterId string `form:"adapterId"`
  141. ClusterId string `form:"clusterId"`
  142. Id string `form:"id"`
  143. InstanceId string `form:"instanceId"`
  144. }
  145. StopDeployInstanceResp {
  146. }
  147. DeployInstanceStatReq {
  148. }
  149. DeployInstanceStatResp {
  150. Running int32 `json:"running"`
  151. Total int32 `json:"total"`
  152. }
  153. InferenceTaskStatReq {}
  154. InferenceTaskStatResp {
  155. Running int32 `json:"running"`
  156. Total int32 `json:"total"`
  157. }
  158. StartAllByDeployTaskIdReq {
  159. Id string `json:"deployTaskId"`
  160. }
  161. StartAllByDeployTaskIdResp {
  162. }
  163. StopAllByDeployTaskIdReq {
  164. Id string `json:"deployTaskId"`
  165. }
  166. StopAllByDeployTaskIdResp {
  167. }
  168. GetRunningInstanceReq {
  169. Id string `form:"deployTaskId"`
  170. AdapterId string `form:"adapterId"`
  171. }
  172. GetRunningInstanceResp {
  173. List interface{} `json:"list"`
  174. }
  175. GetDeployTasksByTypeReq {
  176. ModelType string `form:"modelType"`
  177. }
  178. GetDeployTasksByTypeResp {
  179. List interface{} `json:"list"`
  180. }
  181. CreateDeployTaskReq {
  182. TaskName string `form:"taskName"`
  183. TaskDesc string `form:"taskDesc"`
  184. ModelName string `form:"modelName"`
  185. ModelType string `form:"modelType"`
  186. AdapterClusterMap map[string][]string `form:"adapterClusterMap"`
  187. }
  188. CreateDeployTaskResp {
  189. }
  190. GetAdaptersByModelReq {
  191. ModelName string `form:"modelName"`
  192. ModelType string `form:"modelType"`
  193. }
  194. GetAdaptersByModelResp {
  195. Adapters []*AdapterAvail `json:"adapters"`
  196. }
  197. AdapterAvail {
  198. AdapterId string `json:"adapterId"`
  199. AdapterName string `json:"adapterName"`
  200. Clusters []*ClusterAvail `json:"clusters"`
  201. }
  202. ClusterAvail {
  203. ClusterId string `json:"clusterId"`
  204. ClusterName string `json:"clusterName"`
  205. }
  206. // 推理任务
  207. CreateInferenceTaskReq {
  208. Name string `json:"name"`
  209. UserId int64 `json:"userId,optional"`
  210. Description string `json:"description,optional"`
  211. Token string `json:"token,optional"`
  212. UserIp string `json:"userIp,optional"`
  213. JobResources JobResources `json:"jobResources"`
  214. DataDistributes DataDistribute `json:"dataDistributes"`
  215. }
  216. CreateInferenceTaskResp {
  217. TaskId string `json:"taskId"`
  218. TaskName string `json:"taskName"`
  219. }
  220. )

PCM is positioned as Software stack over Cloud, aiming to build the standards and ecology of heterogeneous cloud collaboration for JCC in a non intrusive and autonomous peer-to-peer manner.