更新时间:2024-05-30 gmt 08:00

创建ai应用-j9九游会登录

功能介绍

导入元模型创建ai应用。 执行代码、模型需先上传至obs(训练作业生成的模型已默认存储到obs)。

接口约束

使用模板导入模型与不使用模板导入这两类导入方式的body参数要求不一样。以下body参数说明中以模板参数表示适合使用模板导入模型时填写的参数,非模板参数表示适合不使用模板导入时填写的参数,公共参数表示与导入方式无关的参数。

  • 使用模板导入模型时(model_type为template),template字段必填,source_location不需要填。

  • 不使用模板导入模型时(即model_type不为template),source_location必填,template不需要填。

调试

您可以在中调试该接口,支持自动认证鉴权。api explorer可以自动生成sdk代码示例,并提供sdk代码示例调试功能。

uri

post /v1/{project_id}/models

表1 路径参数

参数

是否必选

参数类型

描述

project_id

是

string

用户项目id。获取方法请参见获取项目id和名称。

请求参数

表2 请求header参数

参数

是否必选

参数类型

描述

x-auth-token

是

string

用户token。通过调用iam服务获取用户token接口获取(响应消息头中x-subject-token的值)。

表3 请求body参数

参数

是否必选

参数类型

描述

model_docs

否

array of guidedoc objects

模型说明文档列表,最多三篇。公共参数

template

否

template object

模板的相关配置项。使用模板导入模型(即model_type为template)时必选。模板参数

model_version

是

string

模型版本,格式需为“数值.数值.数值”,其中数值为1-2位正整数, 注意:版本不可以出现例如01.01.01等以0开头的版本号形式。公共参数

source_job_version

否

string

来源训练作业的版本,模型是从训练作业产生的可填写,用于溯源;如模型是从第三方元模型导入,则为空。默认值为空。非模板参数

source_location

是

string

模型所在的obs路径或swr镜像地址。

source_copy

否

string

镜像复制开关,仅当“model_type”为“image”时有效。

取值范围:

  • true:默认值,复制镜像模式,无法极速创建ai应用,swr源目录中的镜像更改或删除不影响服务部署。

  • false:不复制镜像模式,可极速创建ai应用,更改或删除swr源目录中的镜像会影响服务部署。

initial_config

否

string

模型配置文件转成的字符串。建议通过配置文件initial_config来提供“apis”、“dependencies”、“input_params”、“output_params”等字段的信息。非模板参数

execution_code

否

string

执行代码存放的obs地址,默认值为空,名称固定为“customize_service.py”。推理代码文件需存放在模型“model”目录。该字段不需要填,系统也能自动识别出model目录下的推理代码。公共参数

source_job_id

否

string

来源训练作业的id,模型是从训练作业产生的可填写,用于溯源;如模型是从第三方元模型导入,则为空。默认值为空。非模板参数

model_type

是

string

模型类型,取值为tensorflow/image/pytorch/template/mindspore,从配置文件读取。公共参数

output_params

否

array of createmodelrequestinferparams objects

模型的输出参数集,默认为空,params结构如表 params结构所示。从配置文件的apis读取,用户提供“initial_config”字段即可,可不填该字段。非模板参数

description

否

string

模型备注信息,1-100位长度,不能包含&!'"<>=。公共参数

runtime

否

string

模型运行时环境,runtime可选值与model_type相关,详细见推理支持的常用引擎及其runtime。

model_metrics

否

string

模型精度信息,从配置文件读取,可不填。非模板参数

source_type

否

string

模型来源的类型,当前仅可取值“auto”,用于区分通过自动学习部署过来的模型(不提供模型下载功能);用户通过训练作业和其他方式部署的模型不设置此值。默认值为空。非模板参数

dependencies

否

array of modeldependencies objects

推理代码及模型需安装的包,默认为空。从配置文件读取,可不填。非模板参数

workspace_id

否

string

工作空间id,默认为0。公共参数

model_algorithm

否

string

模型算法,从配置文件读取,可不填。如:“predict_analysis”、“object_detection ”、“image_classification”。非模板参数

apis

否

array of createmodelrequestmodelapis objects

模型所有的apis入参出参信息,从配置文件中解析出来的,可不填。非模板参数

model_name

是

string

模型名称,支持1-64位可见字符(含中文),名称可以包含字母、中文、数字、中划线、下划线。公共参数

install_type

否

array of strings

部署类型,只支持小写。可选real-time、edge、batch,默认为["real-time","edge","batch"]。

input_params

否

array of createmodelrequestinferparams objects

模型的输入参数集,默认为空,params结构如表 params结构所示。从配置文件的apis读取,用户提供“initial_config”字段即可,可不填该字段。非模板参数

表4 guidedoc

参数

是否必选

参数类型

描述

doc_url

是

string

文档http(s)链接。

doc_name

是

string

文档名称,支持1-48位可见字符(含中文),只能以英文大小写字母或者中文字符开头,名称可以包含字母、中文、数字、中划线、下划线。

表5 template

参数

是否必选

参数类型

描述

infer_format

否

string

输入输出模式id,提供时覆盖模板中的内置输入输出模式。

template_inputs

是

array of createmodelrequesttemplateinput objects

模板输入项配置,即配置模型的源路径。

template_id

是

string

所使用的模板id,模板中会内置一个输入输出模式。

表6 createmodelrequesttemplateinput

参数

是否必选

参数类型

描述

input

是

string

模板输入路径,可以是obs文件路径,obs目录路径,使用多输入项的模板创建模型时,如果模板定义的目标路径input_properties是一样的,则此处输入的obs目录或者obs文件不能重名,否则会覆盖。

input_id

是

string

输入项id,从模板详情中获取。

表7 modeldependencies

参数

是否必选

参数类型

描述

installer

是

string

安装方式,当前只支持pip。

packages

是

array of packages objects

依赖包集合。

表8 packages

参数

是否必选

参数类型

描述

package_version

否

string

依赖包版本。不填时默认安装最新版本。不能含有中文及特殊字符&!'"<>=。

package_name

是

string

依赖包名称。请确保包名正确且存在。不能含有中文及特殊字符&!'"<>=。

restraint

否

string

版本限制条件,取值为exact/atleast/atmost,当且仅当package_version存在时必填。

表9 createmodelrequestmodelapis

参数

是否必选

参数类型

描述

protocol

否

string

请求协议,可选http和https。

method

否

string

请求方法,可选post、get。

input_params

否

modelinoutputparams object

apis中的输入输出参数,以json schema格式描述。

output_params

否

modelinoutputparams object

apis中的输入输出参数,以json schema格式描述。

url

否

string

推理请求url路径

表10 modelinoutputparams

参数

是否必选

参数类型

描述

type

否

string

json schema中表示类型的字段,可选object。

properties

否

object

json schema中表示对象元素的properties字段,可在其中定义参数,包括参数名及其类型。

表11 createmodelrequestinferparams

参数

是否必选

参数类型

描述

protocol

是

string

请求协议,可选http和https。

min

否

number

参数的最小值。当param_type为int或float时可选填,默认为空。

method

是

string

请求方法,可选“post”、“get”。

max

否

number

参数的最大值。当param_type为int或float时可选填,默认为空。

param_desc

否

string

参数描述,建议长度设置不超过100个字符,默认为空。

param_name

是

string

参数名,建议长度设置不超过64个字符。

url

是

string

api代表的url路径。

param_type

是

string

参数类型,取值可选int/string/float/timestamp/date/file。

响应参数

状态码: 200

表12 响应body参数

参数

参数类型

描述

model_id

string

模型id。

请求示例

创建ai应用。设置ai应用名称为“mnist”,版本为“1.0.0”,类型为“tensorflow”,模型文件来源于obs桶。

post https://{endpoint}/v1/{project_id}/models
{
  "model_name" : "mnist",
  "model_version" : "1.0.0",
  "source_location" : "https://models.obs.xxxxx.com/mnist",
  "source_job_id" : "55",
  "source_job_version" : "v100",
  "model_type" : "tensorflow",
  "runtime" : "python2.7",
  "description" : "mnist model",
  "execution_code" : "https://testmodel.obs.xxxxx.com/customize_service.py",
  "input_params" : [ {
    "url" : "/v1/xxx/image",
    "protocol" : "http",
    "method" : "post",
    "param_name" : "image_url",
    "param_type" : "string",
    "min" : 0,
    "max" : 9,
    "param_desc" : "http://test/test.jpeg"
  } ],
  "output_params" : [ {
    "url" : "/v1/xxx/image",
    "protocol" : "http",
    "method" : "post",
    "param_name" : "face_location",
    "param_type" : "box",
    "param_desc" : "face_location param value description"
  } ],
  "dependencies" : [ {
    "installer" : "pip",
    "packages" : [ {
      "package_name" : "numpy",
      "package_version" : "1.5.0",
      "restraint" : "atleast"
    } ]
  } ],
  "model_algorithm" : "object_detection",
  "model_metrics" : "{\"f1\":0.52381,\"recall\":0.666667,\"precision\":0.466667,\"accuracy\":0.625}",
  "apis" : [ {
    "url" : "/v1/xxx/image",
    "protocol" : "http",
    "method" : "post",
    "input_params" : {
      "type" : "object",
      "properties" : {
        "image_url" : {
          "type" : "string"
        }
      }
    },
    "output_params" : {
      "type" : "object",
      "properties" : {
        "face_location" : {
          "type" : "box"
        }
      }
    }
  } ]
}

响应示例

状态码: 200

模型创建成功。

{
  "model_id" : "7feb7235-ed9c-48ae-9833-2876b2458445"
}

状态码

状态码

描述

200

模型创建成功。

错误码

请参见。

相关文档

网站地图