common.SysLog("Model request rate limit group config cleared")
returnnil
}
err:=json.Unmarshal([]byte(jsonStr),&newConfig)
iferr!=nil{
returnfmt.Errorf("failed to unmarshal ModelRequestRateLimitGroup config: %w",err)
}
// 校验配置值
forgroup,limits:=rangenewConfig{
iflen(limits)!=2{
returnfmt.Errorf("invalid config for group '%s': limits array length must be 2",group)
}
iflimits[1]<=0{// successCount must be greater than 0
returnfmt.Errorf("invalid config for group '%s': successCount (limits[1]) must be greater than 0",group)
}
iflimits[0]<0{// totalCount can be 0 (no limit) or positive
returnfmt.Errorf("invalid config for group '%s': totalCount (limits[0]) cannot be negative",group)
}
iflimits[0]>0&&limits[0]<limits[1]{// If totalCount is set, it must be >= successCount
returnfmt.Errorf("invalid config for group '%s': totalCount (limits[0]) must be greater than or equal to successCount (limits[1]) when totalCount > 0",group)
}
}
ModelRequestRateLimitGroupConfig=newConfig
common.SysLog("Model request rate limit group config updated")