华为云用户手册

  • 计费模式概述 KooMap提供按需计费和套餐包两种计费模式,以满足不同场景下的用户需求。 按需计费:一种后付费模式,即先使用再付费,按照云服务器实际使用时长计费,按小时结算。按需计费模式允许您根据实际业务需求灵活地调整资源使用,无需提前预置资源,从而降低预置过多或不足的风险。 套餐包:一种预付费模式,即先付费再使用,使用时优先扣除套餐包额度,超出部分按需计费。一般适用于设备需求量长期稳定的成熟业务。 表1 计费模式 计费模式 按需计费 套餐包 付费方式 后付费 预付费 计费周期 按小时结算 按订单的购买周期计费,超出部分按需计费 适用计费项 时空专属存储、卫星影像L2/L3/L4/L5等级处理、实景三维生产服务基础版/专业版、AR地图运行服务基础版、AR地图生产服务 AR地图生产服务 变更计费模式 不支持变更计费模式 不支持变更计费模式 适用场景 适用于计算资源需求波动的场景,可以随时开通,随时退订 适用于对产品需求稳定且希望降低成本的用户 父主题: 计费模式
  • 与其他服务的关系 表1 KooMap服务与其他服务的依赖关系 服务名称 KooMap服务与其他服务的关系 主要交互功能 对象存储服务 (Object Storage Service,OBS) 原始影像数据(卫星影像、倾斜摄影影像)均通过对象存储服务的OBS桶来存储,KooMap从OBS加载原始影像及其相关数据完成卫星影像生产服务、实景三维生产服务。 导入原始影像数据(卫星影像、倾斜摄影影像)/矢量数据至KooMap。 (适用于卫星影像生产服务)迁移成果影像/矢量数据至OBS。
  • 请求示例 创建账号 POST https://{endpoint}/v1/organizations/accounts { "name" : "C9Qzukfn6FIyxAmC3dQclrwZW34UDu_rPSRrCQ4aGFm0-r1zC2RDHt5oHA-aY21B", "tags" : [ { "key" : "keystring", "value" : "valuestring" } ] }
  • 响应示例 状态码: 202 Successful { "create_account_status" : { "account_id" : "0a6d25d23900d45c0faac010e0fb4de0", "account_name" : "paas_iam_573331", "completed_at" : "2022-08-24T06:41:15Z", "created_at" : "2022-08-24T06:41:15Z", "id" : "h-awjp43m7bz3b8jgy5v61jrfwakt3og8w", "state" : "in_progress", "failure_reason" : "string" } }
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Security-Token 否 String 如果正在使用临时安全凭据,则此header是必需的,该值是临时安全凭据的安全令牌(会话令牌)。 表2 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 账号名称 email 否 String 邮箱 phone 否 String 手机号码 agency_name 否 String 委托名称 description 否 String 描述信息。
  • 响应参数 状态码: 202 表3 响应Body参数 参数 参数类型 描述 create_account_status CreateAccountStatusDto object 包含有关在组织中创建账号的CreateAccount请求的状态。 表4 CreateAccountStatusDto 参数 参数类型 描述 account_id String 如果账号创建成功,则为新账号的唯一标识符(ID)。 account_name String 账号名称 completed_at String 创建账号和完成请求的日期和时间。 created_at String 请求创建账号的日期和时间。 id String 请求的唯一标识符(ID)。您可以从创建账号的初始CreateAccount请求的响应中获得此值。 state String 创建账号的异步请求的状态,in_progress:处理中,succeeded:成功,failed:失败。 failure_reason String 如果请求失败,则说明失败原因。
  • 响应示例 状态码: 200 Successful { "create_account_status" : { "account_id" : "0a6d25d23900d45c0faac010e0fb4de0", "account_name" : "paas_iam_573331", "completed_at" : "2022-08-24T06:41:15Z", "created_at" : "2022-08-24T06:41:15Z", "id" : "h-awjp43m7bz3b8jgy5v61jrfwakt3og8w", "state" : "in_progress", "failure_reason" : "string" } }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 create_account_status CreateAccountStatusDto object 包含有关在组织中创建账号的CreateAccount请求的状态。 表4 CreateAccountStatusDto 参数 参数类型 描述 account_id String 如果账号创建成功,则为新账号的唯一标识符(ID)。 account_name String 账号名称 completed_at String 创建账号和完成请求的日期和时间。 created_at String 请求创建账号的日期和时间。 id String 请求的唯一标识符(ID)。您可以从创建账号的初始CreateAccount请求的响应中获得此值。 state String 创建账号的异步请求的状态,in_progress:处理中,succeeded:成功,failed:失败。 failure_reason String 如果请求失败,则说明失败原因。
  • 请求示例 根据资源类型及标签信息查询实例数量 POST https://{endpoint}/v1/organizations/{resource_type}/resource-instances/count { "without_any_tag" : true, "tags" : [ { "key" : "string", "values" : [ "string" ] } ], "matches" : [ { "key" : "string", "value" : "string" } ] }
  • URI POST https://{endpoint}/v1/organizations/{resource_type}/resource-instances/count 表1 路径参数 参数 是否必选 参数类型 描述 resource_type 是 String 资源类型。枚举值:organizations:policies(服务策略)、organizations:ous(组织OU)、organizations:accounts(账号信息) 、organizations:roots:(根)。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Security-Token 否 String 如果正在使用临时安全凭据,则此header是必需的,该值是临时安全凭据的安全令牌(会话令牌)。 表3 请求Body参数 参数 是否必选 参数类型 描述 without_any_tag 否 Boolean 不包含任意一个标签,该字段为true时查询所有不带标签的资源。 tags 否 Array of TagsDTO objects 包含标签,最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。返回包含所有标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。无tag过滤条件时返回全量数据。 表4 TagsDTO 参数 是否必选 参数类型 描述 key 是 String 键。最大长度127个unicode字符。 key不能为空。 values 是 Array of strings 值列表。每个值最大长度255个unicode字符。
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Security-Token 否 String 如果正在使用临时安全凭据,则此header是必需的,该值是临时安全凭据的安全令牌(会话令牌)。 表2 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 要分配给新组织单元的名称。 parent_id 是 String 要在其中创建新组织单元的根或组织单元的唯一标识符。
  • 响应参数 状态码: 201 表3 响应Body参数 参数 参数类型 描述 organizational_unit OrganizationalUnitDto object 包含有关新创建的组织单元的详细信息的结构。 表4 OrganizationalUnitDto 参数 参数类型 描述 id String 与组织单元关联的唯一标识符(ID)。 urn String 组织单元的统一资源名称。 name String 组织单元的名称。 created_at String 组织单元的创建时间。
  • 响应示例 状态码: 201 Successful { "organizational_unit" : { "id" : "ou-fi0rv9jbjgc6nifokh65jjo8c24fnujv", "urn" : "organizations::0a6d25d23900d45c0faac010e0fb4de0:ou:o-fhkmi6mek7wlqdp6nideqhb47qwtjdsv/ou-fi0rv9jbjgc6nifokh65jjo8c24fnujv", "name" : "autoOU0923152728692gqQc", "created_at" : "2022-09-23T07:27:28Z" } }
  • 请求示例 创建组织单元 POST https://{endpoint}/v1/organizations/organizational-units { "name" : "autoOU0923152728692gqQc", "parent_id" : "ou-kz0blhbszb6w9a2lzb", "tags" : [ { "key" : "keystring", "value" : "keystring" } ] }
  • 请求示例 根据资源类型及标签信息查询实例列表 POST https://{endpoint}/v1/organizations/{resource_type}/resource-instances/filter { "without_any_tag" : true, "tags" : [ { "key" : "string", "values" : [ "string" ] } ], "matches" : [ { "key" : "string", "value" : "string" } ] }
  • 响应参数 状态码: 200 表6 响应Body参数 参数 参数类型 描述 resources Array of ResourceDTO objects 资源信息列表。 total_count Integer 总记录数。 表7 ResourceDTO 参数 参数类型 描述 resource_id String 资源Id。 resource_name String 资源名称。 tags Array of Match objects 资源标签列表。 表8 Match 参数 参数类型 描述 key String 键。取值范围为policy , organizational-unit, account。 value String 值。每个值最大长度255个unicode字符。
  • 响应示例 状态码: 200 Successful { "resources" : [ { "resource_id" : "string", "resource_name" : "string", "tags" : [ { "key" : "string", "value" : "string" } ] } ], "total_count" : 0 }
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Security-Token 否 String 如果正在使用临时安全凭据,则此header是必需的,该值是临时安全凭据的安全令牌(会话令牌)。 表4 请求Body参数 参数 是否必选 参数类型 描述 without_any_tag 否 Boolean 不包含任意一个标签,该字段为true时查询所有不带标签的资源。 tags 否 Array of TagsDTO objects 包含标签,最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。返回包含所有标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。无tag过滤条件时返回全量数据。 表5 TagsDTO 参数 是否必选 参数类型 描述 key 是 String 键。最大长度127个unicode字符。 key不能为空。 values 是 Array of strings 值列表。每个值最大长度255个unicode字符。
  • URI POST https://{endpoint}/v1/organizations/{resource_type}/resource-instances/filter 表1 路径参数 参数 是否必选 参数类型 描述 resource_type 是 String 资源类型。枚举值:organizations:policies(服务策略)、organizations:ous(组织OU)、organizations:accounts(账号信息) 、organizations:roots:(根)。 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 页面中最大结果数量。 offset 否 String 分页标记。
  • 请求示例 邀请账号加入组织 POST https://{endpoint}/v1/organizations/accounts/invite { "target" : { "type" : "account", "entity" : "05c734152f00d4200f2bc0179ac6c5e0" }, "notes" : "test-notes", "tags" : [ { "key" : "keystring", "value" : "valuestring" } ] }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 handshake HandshakeDto object 两个账号(发起者和接收者)之间为了能安全地建立关系,所需要交换的信息。例如,当管理账号(发起者)邀请另一个账号(接收者)加入其组织时,两个账号一系列邀请(握手)请求和响应交换信息。 表5 HandshakeDto 参数 参数类型 描述 id String 邀请(握手)的唯一标识符(ID)。源账号在发起邀请(握手)时创建ID。 urn String 邀请(握手)的统一资源名称。 updated_at String 邀请(握手)请求被接受、取消、拒绝或到期的日期和时间。 created_at String 提出邀请(握手)请求的日期和时间。 expired_at String 邀请(握手)过期的日期和时间。 management_account_id String 组织管理账号的唯一标识符(ID)。 management_account_name String 组织管理账号的名称。 organization_id String 组织的唯一标识符(ID)。 notes String 给收件账号所有者的邮件中的附加信息。 target TargetDto object 要邀请加入组织的账号的标识符(ID)。 status String 邀请(握手)的当前状态, pending:邀请中;accepted:接受邀请;cancelled:取消邀请;declined:拒绝邀请;expired:邀请过期。 表6 TargetDto 参数 参数类型 描述 type String 目标类型,account:账户id,name:账户名称。 entity String 如果指定 'type:account',则必须提供账号ID作为实体。如果指定 'type:name',则必须指定账号名称作为实体。
  • 响应示例 状态码: 200 Successful. { "handshake" : { "id" : "h-awjp43m7bz3b8jgy5v61jrfwakt3og8w", "urn" : "organizations::0a6d25d23900d45c0faac010e0fb4de0:policy:o-fhkmi6mek7wlqdp6nideqhb47qwtjdsv/service_control_policy/p-b4wpejd02o66g0pvfinvsatp4t9krfum", "updated_at" : "2022-08-25T08:11:53Z", "created_at" : "2022-08-25T08:11:20Z", "expired_at" : "2022-09-08T08:11:20Z", "management_account_id" : "0a6d25d23900d45c0faac010e0fb4de0", "management_account_name" : "paas_iam_573331", "organization_id" : "o-fhkmi6mek7wlqdp6nideqhb47qwtjdsv", "notes" : "test-notes", "target" : { "type" : "account", "entity" : "05c734152f00d4200f2bc0179ac6c5e0" }, "status" : "pending" } }
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Security-Token 否 String 如果正在使用临时安全凭据,则此header是必需的,该值是临时安全凭据的安全令牌(会话令牌)。 表2 请求Body参数 参数 是否必选 参数类型 描述 target 是 TargetDto object 要邀请加入组织的账号的标识符(ID)。 notes 是 String 给收件账号所有者的邮件中的附加信息。 表3 TargetDto 参数 是否必选 参数类型 描述 type 是 String 目标类型,account:账户id,name:账户名称。 entity 是 String 如果指定 'type:account',则必须提供账号ID作为实体。如果指定 'type:name',则必须指定账号名称作为实体。
  • URI GET https://{endpoint}/v1/organizations/create-account-status 表1 Query参数 参数 是否必选 参数类型 描述 states 否 Array of strings 要包含在响应中的一个或多个状态的列表。如果此参数不存在,则所有请求都包含在响应中。 limit 否 Integer 页面中最大结果数量。 marker 否 String 分页标记。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 create_account_statuses Array of CreateAccountStatusDto objects 包含有关请求的详细信息的对象列表。 page_info PageInfoDto object 分页信息 表4 CreateAccountStatusDto 参数 参数类型 描述 account_id String 如果账号创建成功,则为新账号的唯一标识符(ID)。 account_name String 账号名称 completed_at String 创建账号和完成请求的日期和时间。 created_at String 请求创建账号的日期和时间。 id String 请求的唯一标识符(ID)。您可以从创建账号的初始CreateAccount请求的响应中获得此值。 state String 创建账号的异步请求的状态,in_progress:处理中,succeeded:成功,failed:失败。 failure_reason String 如果请求失败,则说明失败原因。 表5 PageInfoDto 参数 参数类型 描述 next_marker String 如果存在,则表示可用的输出比当前响应中包含的输出多。在对操作的后续调用中,在标签请求参数中使用此值,以获取输出的下一部分。您应该重复此操作,直到next_marker响应元素返回为null。 current_count Integer 本页返回条目数量
  • 响应示例 状态码: 200 Successful { "create_account_statuses" : [ { "account_id" : "0a6d25d23900d45c0faac010e0fb4de0", "account_name" : "paas_iam_573331", "completed_at" : "2022-08-24T06:41:15Z", "created_at" : "2022-08-24T06:41:15Z", "id" : "h-awjp43m7bz3b8jgy5v61jrfwakt3og8w", "state" : "in_progress", "failure_reason" : "string" } ], "page_info" : { "next_marker" : "ou-taowxgy4xbme6m4x3c2iijbxw7yj8fcw", "current_count" : 100 } }
  • Step1 准备数据集 精度测试需要数据集进行测试。推荐公共数据集mmlu和ceval。下载地址: 表1 精度测试数据集 数据集名称 下载地址 下载说明 mmlu https://huggingface.co/datasets/cais/mmlu 下载其中的data.tar解压到得到data文件夹,为表示区分,将data文件夹重命名为mmlu-exam。 ceval https://huggingface.co/datasets/ceval/ceval-exam 下载其中的ceval-exam.zip压缩包,解压到ceval-exam文件夹。
  • Step2 配置精度测试环境 获取精度测试代码。精度测试代码存放在代码包AscendCloud-3rdLLM-x.x.x的/llm_evaluation目录中,代码目录结构如下: benchmark_eval ├──apig_sdk # ma校验包 ├──cpu_npu # 检测资源消耗 ├── config │ ├── config.json # 服务的配置模板,已配置了ma-standard,tgi示例 │ ├── mmlu_subject_mapping.json # mmlu数据集学科信息 │ ├── ceval_subject_mapping.json # ceval数据集学科信息 ├── evaluators │ ├── evaluator.py # 数据集数据预处理方法集 │ ├── chatglm.py # 处理请求相应模块, 一般和chatglm的官方评测数据集ceval搭配 │ ├── llama.py # 处理请求相应模块, 一般和llama的评测数据集mmlu搭配 ├── mmlu-exam, mmlu数据集 ├── ceval-exam, ceval数据集 ├── eval_test.py # 启动脚本,建立线程池发送请求,并汇总结果 ├── readme.md # 说明文档 ├── requirements.txt # 第三方依赖 ├── service_predict.py # 发送请求的服务 上传精度测试代码到推理容器中。 执行精度测试启动脚本eval_test.py,具体操作命令如下,可以根据参数说明修改参数。 python eval_test.py \ --max_workers=1 \ --service_name=llama2-13b-chat-test \ --eval_dataset=ceval \ --service_url=http://${docker_ip}:8080/v1/completions \ --few_shot=3 \ --is_devserver=True \ --model_name=llama2 \ --deploy_method=vllm \ --vllm_model=${model} 参数说明: max_workers:请求的最大线程数,默认为1。 service_name:服务名称,保存评测结果时创建目录,示例为:llama2-13b-chat-test。 eval_dataset:评测使用的评测集(枚举值),目前仅支持mmlu、ceval。 service_url:成功部署推理服务后的服务预测地址,示例:http://${docker_ip}:8080/generate。此处的${docker_ip}替换为宿主机实际的IP地址,端口号8080来自前面配置的服务端口。 few_shot:开启少量样本测试后添加示例样本的个数。默认为3,取值范围为0~5整数。 is_devserver: 是否devserver部署方式,True表示DevServer模式。False表示ModelArts Standard模式。 model_name:评测模型名称,llama2。 deploy_method:部署方法,不同的部署方式api参数输入、输出解析方式不同,目前支持tgi、ma_standard、vllm等方式。 vllm_model:deploy_method为vllm时,服务以openai的方式启动,vllm_model为启动服务时传入的model。
  • Step3 查看精度测试结果 默认情况下,评测结果会按照result/{service_name}/{eval_dataset}-{timestamp} 的目录结果保存到对应的测试工程。执行多少次,则会在{service_name}下生成多少次结果。 单独的评测结果如下: {eval_dataset}-{timestamp} # 例如: mmlu-20240205093257 ├── accuracy │ ├── evaluation_accuracy.xlsx # 测试的评分结果,包含各个学科数据集的评分和总和评分。 ├── infer_info │ ├── xxx1.csv # 单个数据集的评测结果 │ ├── ...... │ ├── xxxn.csv # 单个数据集的评测结果 ├── summary_result │ ├── answer_correct.xlsx # 回答正确的结果 │ ├── answer_error.xlsx # 保存回答了问题的选项,但是回答结果错误 │ ├── answer_result_unknow.xlsx # 保存未推理出结果的问题,例如超时、系统错误 │ ├── system_error.xlsx # 保存推理结果,但是可能答非所问,无法判断是否正确,需要人工判断进行纠偏。
共100000条