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.9 kB

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

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.