查看在线服务详情
当模型部署为在线服务成功后,您可以进入“在线服务”页面,来查看服务详情。
- 登录ModelArts管理控制台,在左侧菜单栏中选择“模型部署 > 在线服务”,进入“在线服务”管理页面。
- 单击目标服务名称,进入服务详情页面。
您可以查看服务的“名称”、“状态”等信息,详情说明请参见表1。
表1 在线服务配置 参数
说明
名称
在线服务名称。
状态
在线服务当前状态。
来源
在线服务的来源。
服务ID
在线服务的ID。
描述
您可以单击编辑按钮,添加服务描述。
资源池
当前服务使用的资源池规格。如果使用公共资源池部署,则不显示该参数。
个性化配置
您可以为在线服务的不同版本设定不同配置条件,并支持携带自定义运行参数,丰富版本分流策略或同一版本内的不同运行配置。您可以打开个性化配置按钮,单击“查看配置”修改服务个性化配置。
服务流量限制
服务流量限制是指每秒内一个服务能够被访问的次数上限。
运行日志输出
默认关闭,在线服务的运行日志仅存放在ModelArts日志系统。
启用运行日志输出后,在线服务的运行日志会输出存放到云日志服务LTS。LTS自动创建日志组和日志流,默认缓存7天内的运行日志。如需了解LTS专业日志管理功能,请参见云日志服务。
说明:- “运行日志输出”开启后,不支持关闭。
- LTS服务提供的日志查询和日志存储功能涉及计费,详细请参见了解LTS的计费规则。
- 请勿打印无用的audio日志文件,这会导致系统日志卡死,无法正常显示日志,可能会出现“Failed to load audio”的报错。
升级为WebSocket
是否升级为WebSocket服务。
- 您可以进入在线服务的详情页面,通过切换页签查看更多详细信息,详情说明请参见表2。
表2 在线服务详情 参数
说明
调用指南
展示API接口公网地址、模型信息、输入参数、输出参数。您可以通过复制API接口公网地址,调用服务。如果您支持APP认证方式,可以在调用指南查看API接口公网地址和授权管理详情,包括“应用名称”、“AppKey”、“AppSecret”等信息。您也可以在此处对APP应用进行“添加授权”或“解除授权”的操作。
预测
对在线服务进行预测。具体操作请参见使用预测功能测试在线服务。
实例
查看异步在线服务的实例信息。这里的实例个数和部署服务时设置的“实例数”相对应,如果修改服务或服务异常,实例数会有变化。如果存在某个实例异常希望重建实例,您可单击“删除”按钮,该实例被删除后会自动新建一个相同计算规格的实例。
配置更新记录
展示“当前配置”详情和“历史更新记录”。
- “当前配置”:展示模型名称、版本、状态、实例规格、分流、实例数、部署超时时间、环境变量、存储挂载等信息。专属资源池部署的服务,同时展示资源池信息。
- “历史更新记录”:展示历史模型相关信息。
监控信息
展示当前服务的“资源统计信息”和“模型调用次数统计”。
- “资源统计信息”:包括CPU、内存、GPU、NPU的可用和已用信息。
- “模型调用次数统计”:当前模型的调用次数,从模型状态为“已就绪”后开始统计。(websocket服务不显示)
事件
展示当前服务使用过程中的关键操作,比如服务部署进度、部署异常的详细原因、服务被启动、停止、更新的时间点等。
事件保存周期为1个月,1个月后自动清理数据。
查看服务的事件类型和事件信息,请参见查看在线服务的事件
日志
展示当前服务下每个模型的日志信息。包含最近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个条件。
参数 |
是否必选 |
说明 |
---|---|---|
配置条件 |
必选 |
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'
- 示例二:
#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来访问不同版本。
- 示例一:
当预测的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访问时,模型使用配置A;用户lisi访问时,模型使用配置B。当匹配到运行配置条件时,ModelArts会在请求里增加一个Header,传入自定义运行参数,其中Key是“配置项名称”,Value是“配置项值”。图3 个性化配置规则支持传入自定义运行参数。