ParseModelRef parses an inline "provider/model" reference into a ModelConfig. It splits on the first "/", so the model portion may itself contain slashes (e.g. "dmr/ai/qwen3:latest" yields provider "dmr" and model "ai/qwen3:latest"). It returns an error when there is no "/" or when either part is em
(ref string)
| 14 | // cfg, err := ParseModelRef("openai/gpt-4o") |
| 15 | // // cfg.Provider == "openai", cfg.Model == "gpt-4o" |
| 16 | func ParseModelRef(ref string) (ModelConfig, error) { |
| 17 | providerName, model, ok := strings.Cut(ref, "/") |
| 18 | if !ok || providerName == "" || model == "" { |
| 19 | return ModelConfig{}, fmt.Errorf("invalid model reference %q: expected 'provider/model' format", ref) |
| 20 | } |
| 21 | return ModelConfig{Provider: providerName, Model: model}, nil |
| 22 | } |
no outgoing calls