云服务器内容精选

  • 使用说明 任何实体均可与xDM-F元模型建立关系。 单个数据模型(包括数据实体、关系实体和接口模型)下的属性数量不允许超过1664个。如果应用的数据库类型为mysql,则单个数据模型(包括数据实体、关系实体和接口模型)下,其属性总长度不允许超过16000个字符。 若数据实体与抽象模型建立关系实体,该抽象模型的所有子实体模型均建立或继承了关系。 若数据实体与存在扩展子模型的数据实体建立关系实体,该数据实体的所有扩展子模型均继承关系实体。 若数据实体与接口模型建立关系实体,引用该接口模型的所有数据实体均建立了关系(接口模型不能直接作为父模型被其他实体模型继承,需先在功能列表中添加)。
  • 接口模型 xDM-F内置了多种功能,在创建数据实体/关系实体时,不仅自具备从xDM-F继承的基本功能能力,还可根据实际业务需求勾选xDM-F提供的可选功能,每个功能会继承一个或者多个属性。每勾选一个功能,该实体会自动生成相应功能继承的一个或者多个属性。当xDM-F内置的功能无法满足您实际业务需求时,可通过接口模型进行定义。自定义的接口模型将作为自定义功能,在创建数据实体时,被数据实体通过勾选自定义功能的方式被继承和使用。 在已经确定的应用数据模型结构上,需要对具有相似功能、相似结构、相同属性的数据模型进行归一化处理,可通过接口模型定义这些相似功能、相似结构和相同属性。为这些数据模型提供了标准接口,降低参数的重复性,方便管理模型属性。 例如机械产品中,各部件间有一部分是通过销、铆钉、螺栓等常用标准件直接连接,有一部分是通过联轴器、减速器等部件间接连接。尽管这些常用的零部件大多都已经实现系列化或标准化,但这些零部件易损坏,产品在多次更换过程中需要反复操作和记录。您可以分别创建包含这些具有相似功能的零部件接口模型,然后在创建数据实体时,勾选对应接口模型即可继承该接口模型的属性和关系。
  • 数据实体 实体指现实世界中客观存在的并可以相互区分的对象或事物,可以是具体的人、事或物,也可以是抽象的概念或联系。这些独立事物个体的特性称为实体属性,每个实体都具有多个属性。在xDM-F中,这些独立的事物个体都可以看做是数据实体。数据实体是xDM-F原子接口的承载体之一,用于定义数据对象的基本信息、业务属性以及配置所需的功能(如基础数据服务、树形结构、生命周期管理等)。 数据实体按元模型类型的维度分为如表1所示类型。 表1 元模型实体 类型 说明 独立实体 又称“单实体”,适用于关系上不依附、不隶属,单独存在的业务对象。例如,企业的组织架构、部门、机房等。 创建数据实体时,“父模型”为“BusinessObject”或“BasicObject”的数据实体均为单实体。 多版本实体 又称“Master-Version(M-V)模型实体”,适用于只对同一业务对象进行局部的改进,或者需要对业务对象的历史演变过程进行记录和维护。例如,研发过程的技术文档、部件等业务对象会不断修改,需要能够随时查看历史版本数据及修改记录。 创建数据实体时,“父模型”为“VersionObject”的数据实体均为M-V模型实体。
  • 关系实体 关系实体用于描述两个或更多数据实体相互如何关联,是xDM-F原子接口的承载体之一。 基于xDM-F支持的数据关系,提供如下关系类型: 表3 元模型关系 类型 说明 1:N组合关系 又称“参考关系”,主要用于为对象之间建立1:N或主外键关系,可分为: 组合关系:1:N组合关系,即整体和部分的关系。例如公司和部门,如果公司不存在了,部门也不存在了。 非组合关系:1:N聚合关系,即普通的1:N参考关系或主外键关系。例如部门和员工,一个部门有多个员工。 在创建属性时,将属性的“类型”定义为“参考对象”,则属性对应的数据模型具有参考关系。 适用于传统主外键数据的关联。例如,一个部门可以有多个员工,它们之间为一对多聚合关系;公司是部门的父项,部门随着公司而存在,它们之间为一对多组合关系。 说明: 关系实体和M-V模型实体只支持定义非组合关系的参考对象属性。 1:N聚合关系 M:N关系 即多对多关系,用于为数据实体/接口模型建立M:N关系。 创建关系实体时,“关系类型”为“多对多”的关系实体均具有此关系能力。可为应用运行态提供:创建/删除关系实体实例,查询关系实体,获取关联实体/被关联实体清单等操作。 适用于为不同数据实体/接口模型建立多对多关系。例如,在汽车电器相关的零件开发中,工程师和零件开发为多对多关系。一个工程师可进行多个零件开发,一个零件可由多个工程师进行开发。 M:xN关系 又称“单边不确定关系”,用于为一边不确定的数据实体/接口模型建立M:N关系,不确定的数据实体或接口模型(目标端)默认为基类抽象模型“basicObject”。 创建关系实体时,“关系类型”为“单边不确定”的关系实体均具有此关系能力。可为应用运行态提供:创建/删除关系实体实例,查询关系实体,查询目标端对象等操作。 适用于基础数据与业务数据的关联。例如,标签数据与业务数据的关联。标签可给任何对象打标签,在创建实例时确定打标签的目标端对象。 UsageLink使用关系 又称“多叉树关系”,适用于实现复杂的数据结构的存储,高效地查找数据,方便管理节点数据的场景。例如,部件和部件之间的使用和被使用关系。一辆汽车有四个轮子,汽车和轮胎都是部件,创建一个关系实体承载汽车和轮胎的使用关系,并在关系实体上定义一个“使用数量”属性用于标识一辆汽车使用了四个轮胎。 自循环树形关系 又称“树形结构”,是数据对象之间存在着“一对多”的树形关系的数据结构,适用于数据间上下级的关联。例如,企业的组织结构、软件应用的结构、工作计划、项目管理等。 创建数据实体/关系实体时,通过勾选xDM-F内置的“树形结构”、“分类管理”、“文件夹管理”等能力实现。
  • 在线编辑模型 平台提供模型编辑器,在模型详情页单击“在线编辑”,进入该模型的在线编辑页面。如图,界面左侧显示的是该模型包内的所有文件,以目录树的形式展示,支持编程语言的渲染,支持MarkDown文件的实时双屏预览。 图10 在线编辑 新建文件夹:选中文件夹并单击,用户将新建一个该文件夹的子文件夹。选中工程文件并单击,将会新建一个新的文件夹,与用户已有的文件夹同级。 新建文件:单击,或右键文件夹,单击“新建文件”。 修改文件:单击,用户可对文件名称进行修改。 删除文件:单击,用户可删除文件。 文件(夹)名称不能为空,且只能包含数字、英文、中文、点、下划线和中划线。 删除后不可恢复,请谨慎操作。 配置界面:单击,按照喜好配置界面基本属性,查看快捷键说明。 图11 配置界面 删除当前模型文件:单击“删除”,删除当前页面的模型文件。删除后不可恢复,请谨慎操作。 保存模型文件:单击“保存”,保存当前模型。模型更新完毕请及时保存。
  • 新建版本 Octopus支持用户对已有的模型进行版本更新,步骤如下: 单击模型管理名称进入详情界面,单击“新建版本”或者模型列表页单击“新建版本”。 输入模型版本描述。 图9 模型版本描述 模型版本描述,不得超过256个字符。 关联已有算法:可选择关联的算法。 上传本地模型文件。 将本地模型文件夹拖入框内或单击选择本地模型文件夹 单击“上传”,页面提示“模型文件已加入上传队列中,等待上传”。 上传中刷新或关闭浏览器会导致文件上传异常,请谨慎操作!
  • 智驾模型列表相关操作 智驾模型列表可以进行以下操作。 表1 智驾模型列表相关操作 任务 操作步骤 编辑模型 单击操作栏中的“编辑”,编辑智驾模型。仅支持修改描述信息。初始模型不支持编辑。 删除模型 单击操作栏中的“删除”,删除智驾模型。初始模型不支持删除。 查看模型详情 单击模型名称,查看模型详情。 在模型详情页,查看模型基本信息和模型版本列表。可以对模型版本进行“模型微调”、“创建在线服务”和“删除”操作。 说明: 初始模型不支持“创建在线服务”和“删除”。 只有“创建成功”的模型版本支持“模型微调”和“创建在线服务”。 查询模型 在搜索输入框中输入搜索条件,按回车键即可查询。
  • 如何创建包 在工程根节点下面建包,需要单击工程名称菜单项的“新建包”按钮。 在包目录下面建子包目录节点,则选中包目录节点,在菜单中使用“新建包”功能即可。 选择要增加包的包节点,单击后面的选项按钮,选择“新建包”。 建包需要创建包的角色权限,如果看不到新增包的菜单项,需要申请建包对应的角色权限,权限介绍可参考权限管理,申请对应的角色。 在弹出的窗口中输入新增包的名称后单击“保存”。 父主题: 模型管理
  • 执行结果 索引的执行结果主要分为:初始态、执行中、待创建、成功和失败。 表1 执行结果 名称 说明 初始态 表示索引定义完成,待系统调用执行接口,将索引添加至应用的数据库中。 执行中 表示索引规则正在应用的数据库中执行,待返回结果。 待创建 表示索引规则未提交/应用上不存在此模型/索引字段在表中不存在,请联系运维人员处理。 成功 表示索引在应用的数据库中创建成功。 失败 表示索引在应用的数据库中创建失败,请联系运维人员处理。
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 1 2 3 4 5 from modelarts.session import Session from modelarts.model import Model from modelarts.config.model_config import ServiceConfig, Params, Dependencies, Packages session = Session() 方式1:初始化已存在模型 1 model_instance = Model(session, model_id="your_model_id") 方式2:创建模型 基于预置镜像和OBS路径创建模型 1 2 3 4 5 6 7 8 9 10 11 12 13 model_location = "/your_obs_bucket/model_path" # 修改为真实的模型文件OBS路径 execution_code = "/your_obs_bucket/model_path/customize_service.py" runtime = "python3.7" model_instance = Model( session, model_name="input_model_name", # (可选)模型名称 model_version="1.0.0", # (可选)模型版本 source_location=model_location, # 模型文件所在的OBS路径,如:"/your_obs_bucket/model_path" model_type="PyTorch", # 模型类型 execution_code=execution_code, # (可选)存放执行脚本的OBS路径,如:"/your_obs_bucket/model_path/customize_service.py" runtime=runtime # (可选)支持的运行环境 ) dependencies会覆盖样例中config.json的相关内容,上述无需使用dependencies,dependencies格式样例可参考下方格式定义。 dependencies参数组的定义格式 SDK提供了Dependencies类对其定义,dependencies为list,list中的元组对象是Dependencies。 定义代码如下: 1 2 3 4 5 6 dependencies = [] dependency1 = Dependencies( installer="pip", # 安装方式,目前支持pip packages=packages # 依赖包集合, 定义格式参考下文关于packages的定义 ) dependencies.append(dependency1) package参数组的定义格式 SDK提供了Packages类对其定义,packages为list,list中的元组对象是Packages。 定义代码如下: 1 2 3 4 5 6 7 packages = [] package1 = Packages( package_name="package_name", # 包名 package_version="version", # 包版本号 restraint="EXACT" ) packages.append(package1) dependencies参数组的创建样例: dependencies = [] packages = [{ "package_name": "numpy", "package_version": "1.15.0", "restraint": "EXACT" }, { "package_name": "h5py", "package_version": "2.8.0", "restraint": "EXACT" }] dependency = Dependencies(installer="pip", packages=packages) dependencies.append(dependency) 基于 自定义镜像 创建模型 适用于推理服务的脚本已经内置在自定义镜像中,镜像启动时会自动拉起服务的场景。 from modelarts.session import Session from modelarts.model import Model session = Session() image_path = "custom_image_path" # 自定义镜像的swr路径 model_instance = Model( session, model_name="your_model_name", # 模型名称 model_version="0.1.0", # 模型版本 source_location="image_path", # 模型文件路径 model_type="Image" # 模型类型 )
  • 请求示例 /v1/111/applications/222/uni-search/nlp-models { "name" : "pangu_38b", "detail" : "pangu_38b", "type" : "nlp", "endpoint" : "http://10.0.0.169:31010", "extend_config" : { "deployment_id" : "123", "iam_info" : { "iam_enabled" : false, "agency_enabled" : false } } }
  • 响应参数 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:8 最大长度:36 error_msg String 错误描述 最小长度:2 最大长度:512 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:8 最大长度:36 error_msg String 错误描述 最小长度:2 最大长度:512
  • 在线编辑模型 平台提供模型编辑器,在模型详情页,“版本管理”模块的“模型编辑”栏,单击“模型编辑”,进入该模型的在线编辑页面。如图,界面左侧显示的是该模型包内的所有文件,以目录树的形式展示,支持编程语言的渲染,支持MarkDown文件的实时双屏预览。 图10 在线编辑 新建文件夹:选中文件夹并单击,用户将新建一个该文件夹的子文件夹。选中工程文件并单击,将会新建一个新的文件夹,与用户已有的文件夹同级。 新建文件:单击,或右键文件夹,单击“新建文件”。 修改文件:单击,用户可对文件名称进行修改。 删除文件:单击,用户可删除文件。 文件(夹)名称不能为空,且只能包含数字、英文、中文、点、下划线和中划线。 删除后不可恢复,请谨慎操作。 配置界面:单击,按照喜好配置界面基本属性,查看快捷键说明。 图11 配置界面 删除当前模型文件:单击“删除”,删除当前页面的模型文件。删除后不可恢复,请谨慎操作。 保存模型文件:单击“保存”,保存当前模型。模型更新完毕请及时保存。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限, 获取Token 接口响应消息头中X-Subject-Token的值即为Token。 最小长度:1 最大长度:32768 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 模型名称,取值范围:[5,32],允许大小写字母、数字、下划线(_)、中划线(-)和空格,只能以字母开头。 最小长度:5 最大长度:32 description 否 String 模型描述信息。 最小长度:0 最大长度:1024 type 是 String 模型类型。 枚举值: binary numerical file 是 ModelFile object 模型数据来源。 shareable 否 Boolean 是否打开组织共享。 缺省值:false base_model_id 否 String 基模型id。 缺省值:pangu-drug-model 最小长度:1 最大长度:128 表4 ModelFile 参数 是否必选 参数类型 描述 source 是 String 模型数据文件来源。 枚举值: public private url 是 String 文件URL,用户私有数据中心为项目路径、公共数据场景为obs地址。 最小长度:1 最大长度:2000 eihealth_project_id 否 String 模型文件所在项目id,仅文件为数据中心时填写。 最小长度:1 最大长度:128
  • 请求示例 创建模型,模型名称为model_name,类型为二分型,上传项目桶中file/test.csv的模型数据,打开共享开关。 https://{endpoint}/v1/{project_id}/drug-models { "name" : "model_name", "type" : "binary", "description" : "simple model", "file" : { "url" : "project:/file/test.csv", "source" : "private" }, "shareable" : true }