41 lines
1009 B
Go
41 lines
1009 B
Go
package models
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
)
|
|
|
|
// RunConfig 包含所有运行参数
|
|
type RunConfig struct {
|
|
CodeConfig CodeConfig `json:"code_config"`
|
|
Resource ResourceConfig `json:"resource"`
|
|
Image int `json:"image"`
|
|
Command string `json:"command"`
|
|
RunArgs []string `json:"run_args"`
|
|
Dataset DataResourceConfig `json:"dataset"`
|
|
ModelName DataResourceConfig `json:"model_name"`
|
|
TaskOutput string `json:"task_output"`
|
|
}
|
|
|
|
// ParseRunArgs 解析运行参数字符串为键值对
|
|
func ParseRunArgs(input string) (map[string]string, error) {
|
|
result := make(map[string]string)
|
|
|
|
if input == "" {
|
|
return result, nil
|
|
}
|
|
|
|
pairs := strings.Split(input, ",")
|
|
for _, pair := range pairs {
|
|
kv := strings.SplitN(pair, "=", 2)
|
|
if len(kv) != 2 {
|
|
return nil, fmt.Errorf("invalid key-value pair: %s", pair)
|
|
}
|
|
key := strings.TrimSpace(kv[0])
|
|
value := strings.TrimSpace(kv[1])
|
|
result[key] = value
|
|
}
|
|
|
|
return result, nil
|
|
}
|