自定义服务化配置预检规范

自定义服务化配置预检规范为.yaml格式文件,内容可分为如下五类:

五类配置中任何一类下均支持以下7种属性描述词:

以上suggestions、condition、suggested、not_suggested为拓展配置,用于说明value在不同场景下的取值reason。

name

支持嵌套,用于确定待配置的配置变量名,每向下一级就增加一个冒号,如:

features:experimental:enabled

在ranktable、user_config基线配置中,由于server_list等为列表,因此也支持以数字作为一个级别,如:

BackendConfig:ModelDeployConfig:ModelConfig:0:tp

对应的user_config配置文件如下(注意列表顺序用0、1、2...表示):

BackendConfig" : {
"interNodeTLSEnabled" : false,
"ModelDeployConfig" :
    {
        "truncation" : false,
        "ModelConfig" : [
            {
                "tp": 1,
...

value

一般value直接配置值,如:

value: 'localhost'

value: false

如有特殊需要也可以用计算符号配合比较符号进行限制或赋值。

value中支持的计算符号:

"+", "-", "\*", "/", "//"

value中支持的比较符号:

'>=', '<=', '!=', '=', '>', '<'

=开头可以接上自定义的规则,如

value: = 1+1
value: = 1 + server_list:0:device:0:rank_id(通过与其他name的value计算来确定取值)
value: = =1(与value: 1效果相同)
value: = >1
value: = >=1

另外,value还支持分号;对多个表达式进行分割,如:

value: = 1 + server_list:0:device:0:rank_id ; < 5

代表value在等于server_list:0:device:0:rank_id的前提下,还需要满足value < 5。

value也可以为空,为空时仅检查该配置项存在性。

value也支持列表形式

value:
- 2
- 3
- >9