package config import ( "fmt" "github.com/caarlos0/env/v11" ) type Config struct { ProxyPort int `env:"PROXY_PORT" envDefault:"11435"` AuthToken string `env:"AUTH_TOKEN,required"` OllamaURL string `env:"OLLAMA_URL" envDefault:"http://localhost:11434"` RouterModel string `env:"ROUTER_MODEL" envDefault:"deepseek-llm:7b"` CodeModel string `env:"CODE_MODEL" envDefault:"qwen2.5-coder:1.5b"` DocModel string `env:"DOC_MODEL" envDefault:"gemma:1b"` GeneralModel string `env:"GENERAL_MODEL" envDefault:"deepseek-llm:7b"` NumCtx int `env:"OLLAMA_NUM_CTX" envDefault:"32768"` } func Load() (*Config, error) { cfg := &Config{} if err := env.Parse(cfg); err != nil { return nil, fmt.Errorf("config parse: %w", err) } return cfg, nil } func MustLoad() *Config { cfg, err := Load() if err != nil { panic(err) } return cfg }