自定义服务化配置预检规范
自定义服务化配置预检规范为.yaml格式文件,内容可分为如下五类:
- environment_variables:环境变量基线
 - mindie_config:服务化配置基线
 - ranktable:ranktable基线
 - model_config:模型配置基线
 - user_config:启动配置基线
 
五类配置中任何一类下均支持以下7种属性描述词:
- name:字段名
 - value:基线取值
 - reason:原因提示
 - suggestions:场景描述部分
 - condition:建议(或不建议)的具体场景
 - suggested:建议场景部分
 - not_suggested:不建议场景部分
 
以上suggestions、condition、suggested、not_suggested为拓展配置,用于说明value在不同场景下的取值reason。
name
支持嵌套,用于确定待配置的配置变量名,每向下一级就增加一个冒号,如:
1 | features:experimental:enabled
 | 
在ranktable、user_config基线配置中,由于server_list等为列表,因此也支持以数字作为一个级别,如:
1 | BackendConfig:ModelDeployConfig:ModelConfig:0:tp
 | 
对应的user_config配置文件如下(注意列表顺序用0、1、2...表示):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16  | BackendConfig" : { "interNodeTLSEnabled" : false, "ModelDeployConfig" : { "truncation" : false, "ModelConfig" : [ { "tp": 1, } ... ] ... } ... } ...  | 
value
一般value直接配置值,如:
1 | value: 'localhost'  | 
或
1 | value: false  | 
如有特殊需要也可以用计算符号配合比较符号进行限制或赋值。
value中支持的计算符号:
1 | "+", "-", "\*", "/", "//"  | 
value中支持的比较符号:
1 | '>=', '<=', '!=', '=', '>', '<'  | 
=开头可以接上自定义的规则,如
1 | value: = 1+1  | 
1 | value: = 1 + server_list:0:device:0:rank_id(通过与其他name的value计算来确定取值)  | 
1 | value: = =1(与value: 1效果相同)  | 
1 | value: = >1  | 
1 | value: = >=1  | 
另外,value还支持分号对多个表达式进行分割,如:
1 | value: = 1 + server_list:0:device:0:rank_id ; < 5  | 
代表value在等于server_list:0:device:0:rank_id的前提下,还需要满足value < 5。
value也可以为空,为空时仅检查该配置项存在性。
value也支持列表形式
1 2 3 4  | value: - 2 - 3 - >9  | 
父主题: 附录