package nkatago import ( "errors" "strings" ) // KatagoConfig Katago配置 type KatagoConfig struct { Exec string // Exec 可执行程序路径,可以是相对路径 必填 Mode EngineType `json:",default=Analysis"` // 类型 Analysis | Gtp Dir string `json:",default=/"` // Katago 路径 Model string `json:",default=/"` // 模型文件路径,可以是相对路径 Config string `json:",default=analysis.cfg"` // 配置文件路径,可以是相对路径 } func (c KatagoConfig) BuildGTP() (*GtpEngine, error) { if c.Mode != EngineGTP { return nil, errors.New("engine mode does not matched") } return NewGtpEngine(c.Exec, strings.ToLower(c.Mode), c.Dir, c.Model, c.Config) } func (c KatagoConfig) BuildAnalysis() (*AnalysisEngine, error) { if c.Mode != EngineAnalysis { return nil, errors.New("engine mode does not matched") } return NewAnalysisEngine(c.Exec, strings.ToLower(c.Mode), c.Dir, c.Model, c.Config) }