更新时间:2024-10-24 GMT+08:00

查看在线服务详情

当AI应用部署为在线服务成功后,您可以进入“在线服务”页面,来查看服务详情。

  1. 登录ModelArts管理控制台,在左侧菜单栏中选择模型部署>在线服务,进入“在线服务”管理页面。
  2. 单击目标服务名称,进入服务详情页面。

    您可以查看服务的“名称”“状态”等信息,详情说明请参见表1

    表1 在线服务配置

    参数

    说明

    名称

    在线服务名称。

    状态

    在线服务当前状态。

    来源

    在线服务的来源。

    服务ID

    在线服务的ID。

    描述

    您可以单击编辑按钮,添加服务描述。

    资源池

    当前服务使用的资源池规格。如果使用公共资源池部署,则不显示该参数。

    个性化配置

    您可以为在线服务的不同版本设定不同配置条件,并支持携带自定义运行参数,丰富版本分流策略或同一版本内的不同运行配置。您可以打开个性化配置按钮,单击“查看配置”修改服务个性化配置

    服务流量限制

    服务流量限制是指每秒内一个服务能够被访问的次数上限。

    运行日志输出

    默认关闭,在线服务的运行日志仅存放在ModelArts日志系统。

    启用运行日志输出后,在线服务的运行日志会输出存放到云日志服务LTS。LTS自动创建日志组和日志流,默认缓存7天内的运行日志。如需了解LTS专业日志管理功能,请参见云日志服务

    说明:
    • “运行日志输出”开启后,不支持关闭。
    • LTS服务提供的日志查询和日志存储功能涉及计费,详细请参见了解LTS的计费规则
    • 请勿打印无用的audio日志文件,这会导致系统日志卡死,无法正常显示日志,可能会出现“Failed to load audio”的报错。

    升级为WebSocket

    是否升级为WebSocket服务。

  3. 您可以进入在线服务的详情页面,通过切换页签查看更多详细信息,详情说明请参见表2
    表2 在线服务详情

    参数

    说明

    调用指南

    展示API接口公网地址、AI应用信息、输入参数、输出参数。您可以通过复制API接口公网地址,调用服务。如果您支持APP认证方式,可以在调用指南查看API接口公网地址和授权管理详情,包括“应用名称”“AppKey”“AppSecret”等信息。您也可以在此处对APP应用进行“添加授权”“解除授权”的操作。

    预测

    对在线服务进行预测。具体操作请参见使用预测功能测试在线服务

    实例

    查看同步在线服务的实例信息。这里的实例个数和部署服务时设置的“计算节点个数”相对应,如果修改服务或服务异常,实例数会有变化。如果存在某个实例异常希望重建实例,您可单击“删除”按钮,该实例被删除后会自动新建一个相同计算规格的实例。

    配置更新记录

    展示“当前配置”详情和“历史更新记录”

    • “当前配置”:展示AI应用名称、版本、状态、计算节点规格、分流、计算节点个数、部署超时时间、环境变量、存储挂载等信息。专属资源池部署的服务,同时展示资源池信息。
    • “历史更新记录”:展示历史AI应用相关信息。

    监控信息

    展示当前服务的“资源统计信息”“AI应用调用次数统计”

    • “资源统计信息”:包括CPU、内存、GPU、NPU的可用和已用信息。
    • “AI应用调用次数统计”:当前AI应用的调用次数,从AI应用状态为“已就绪”后开始统计。(websocket服务不显示)

    事件

    展示当前服务使用过程中的关键操作,比如服务部署进度、部署异常的详细原因、服务被启动、停止、更新的时间点等。

    事件保存周期为1个月,1个月后自动清理数据。

    查看服务的事件类型和事件信息,请参见查看在线服务的事件

    日志

    展示当前服务下每个AI应用的日志信息。包含最近5分钟、最近30分钟、最近1小时和自定义时间段。

    自定义时间段您可以选择开始时间和结束时间。

    当服务启用运行日志输出后,页面展示存放到云日志服务LTS中的日志信息。您可以单击“到LTS查看完整日志”查看全量的日志。

    日志搜索规则说明:

    • 不支持带有分词符的字符串搜索(当前默认分词符有 ,'";=()[]{}@&<>/:\n\t\r)。
    • 支持关键词精确搜索。关键词指相邻两个分词符之间的单词。
    • 支持关键词模糊匹配搜索,例如输入“error”或“er?or”或“rro*”或“er*r”。
    • 支持短语精确搜索。例如输入“Start to refresh”。
    • 启用运行日志输出前,支持关键词的“与”、“或”组合搜索。格式为“query logs&&erro*”或“query logs||erro*”。启用运行日志输出后,支持关键词的“与”、“或”组合搜索。格式为“query logs AND erro*”或“query logs OR erro*”。

    标签

    展示服务已添加的标签。支持添加、修改、删除标签。

    标签详细用法请参见ModelArts如何通过标签实现资源分组管理

    Cloud Shell

    允许用户使用ModelArts控制台提供的CloudShell登录运行中在线服务实例容器,详情请见使用CloudShell调试在线服务实例容器

修改服务个性化配置

服务个性化配置规则由配置条件、访问版本、自定义运行参数(包括配置项名称和配置项值)组成。

您可以为在线服务的不同版本设定不同配置条件,并支持携带自定义运行参数。

个性化配置规则的优先级与顺序相对应,从高到低设置。您可以通过拖动个性化配置规则的顺序更换优先级。

当匹配了某一规则后就不再继续下一规则的判断,最多允许配置10个条件。

表3 个性化配置参数

参数

是否必选

说明

配置条件

必选

SPEL(Spring Expression Language)规则的表达式,当前仅支持字符型的“相等”、“matches”和hashCode函数计算。

访问版本

必选

服务个性化配置规则对应的访问版本。当匹配到规则时,请求该版本的在线服务。

配置项名称

可选

自定义运行参数的Key值,不超过128个字符。

当需要通过Header(http消息头)携带自定义运行参数至在线服务时,可以配置。

配置项值

可选

自定义运行参数的Value值,不超过256个字符。

当需要通过Header(http消息头)携带自定义运行参数至在线服务时,可以配置。

可以设置以下三种场景:

  • 如果在线服务部署多个版本用于灰度发布,可以使用个性化配置实现按用户分流。
    表4 按内置变量配置条件

    内置变量

    说明

    DOMAIN_NAME

    调用预测请求的账号名。

    DOMAIN_ID

    调用预测请求的账号ID。

    PROJECT_NAME

    调用预测请求的项目名。

    PROJECT_ID

    调用预测请求的项目ID。

    USER_NAME

    调用预测请求的用户名。

    USER_ID

    调用预测请求的用户ID。

    “#”表示引用变量,匹配的字符串需要用单引号。

    #{内置变量} == '字符串'
    #{内置变量} matches '正则表达式'
    • 示例一:

      当调用预测请求的账号名为“zhangsan”时,匹配至指定版本。

      #DOMAIN_NAME == 'zhangsan'
    • 示例二:

      当调用预测请求的账号名以“op”开头时,匹配至指定版本。

      #DOMAIN_NAME matches 'op.*'
      表5 常用的正则匹配表达式

      字符

      描述

      “.”

      匹配除“\n”之外的任何单个字符串。需匹配包括“\n”在内的任何字符,请使用“(.|\n)”的模式。

      “*”

      匹配前面的子表达式零次或多次。例如,“zo*”能匹配“z”以及“zoo”

      “+”

      匹配前面的子表达式一次或多次。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”

      “?”

      匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“does”“does”中的“do”

      “^”

      匹配输入字符串的开始位置。

      “$”

      匹配输入字符串的结束位置。

      “{n}”

      n是一个非负整数。匹配确定的n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个“o”

      “x|y”

      匹配x或y。例如,“z|food”能匹配“z”“food”“(z|f)ood”则匹配“zood”“food”

      “[xyz]”

      字符集合。匹配所包含的任意一个字符。例如,“[abc]”可以匹配“plain”中的“a”

      图1 按用户分流

  • 如果在线服务部署多个版本用于灰度发布,可以使用个性化配置实现通过Header来访问不同版本。
    您需要通过"#HEADER_"开头说明引用header作为条件
    #HEADER_{key} == '{value}'
    #HEADER_{key} matches '{value}'
    • 示例一:

      当预测的http请求的header中存在version,且值为0.0.1则符合条件。不存在此header或者值不为0.0.1都不符合条件。

      #HEADER_version == '0.0.1'
    • 示例二:

      当预测的http请求的header中存在testheader且值符合正以mock开头时,可匹配到这条规则。

      #HEADER_testheader matches 'mock.*'
    • 示例三:

      当预测的http请求的header中存在uid且其哈希值符合指定的分桶算法时,可匹配到这条规则。

      #HEADER_uid.hashCode() % 100 < 10
      图2 通过Header访问不同版本

  • 如果在线服务部署的版本支持使用不同的运行配置,您可以通过“配置项名称”“配置项值”携带自定义运行参数至在线服务,实现不同用户使用不同运行配置。

    示例:

    用户zhangsan访问时,AI应用使用配置A;用户lisi访问时,AI应用使用配置B。当匹配到运行配置条件时,ModelArts会在请求里增加一个Header,传入自定义运行参数,其中Key是“配置项名称”,Value是“配置项值”
    图3 个性化配置规则支持传入自定义运行参数。