38 lines
912 B
Go
38 lines
912 B
Go
|
|
package config
|
||
|
|
|
||
|
|
import "os"
|
||
|
|
|
||
|
|
const (
|
||
|
|
defaultHTTPAddr = ":8080"
|
||
|
|
defaultEnvironment = "development"
|
||
|
|
defaultModelKey = "deepseek-v4-flash"
|
||
|
|
defaultThirdOneBin = "thirdone"
|
||
|
|
defaultWorkflowRuntime = ""
|
||
|
|
)
|
||
|
|
|
||
|
|
type Config struct {
|
||
|
|
HTTPAddr string
|
||
|
|
Environment string
|
||
|
|
WorkflowRuntime string
|
||
|
|
ModelKey string
|
||
|
|
ThirdOneBin string
|
||
|
|
}
|
||
|
|
|
||
|
|
func LoadFromEnv() Config {
|
||
|
|
return Config{
|
||
|
|
HTTPAddr: envOrDefault("TUTOR_HTTP_ADDR", defaultHTTPAddr),
|
||
|
|
Environment: envOrDefault("TUTOR_ENV", defaultEnvironment),
|
||
|
|
WorkflowRuntime: envOrDefault("TUTOR_WORKFLOW_RUNTIME", defaultWorkflowRuntime),
|
||
|
|
ModelKey: envOrDefault("TUTOR_MODEL_KEY", defaultModelKey),
|
||
|
|
ThirdOneBin: envOrDefault("THIRDONE_BIN", defaultThirdOneBin),
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func envOrDefault(key string, fallback string) string {
|
||
|
|
value := os.Getenv(key)
|
||
|
|
if value == "" {
|
||
|
|
return fallback
|
||
|
|
}
|
||
|
|
return value
|
||
|
|
}
|