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 6.8 kB

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

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.