MCPcopy Index your code
hub / github.com/docker/docker-agent / resolveRoutingRuleModel

Function resolveRoutingRuleModel

pkg/config/first_available.go:260–282  ·  view source on GitHub ↗
(cfg *latest.Config, ref string)

Source from the content-addressed store, hash-verified

258}
259
260func resolveRoutingRuleModel(cfg *latest.Config, ref string) (latest.ModelConfig, error) {
261 if model, exists := cfg.Models[ref]; exists {
262 if model.IsFirstAvailable() {
263 return latest.ModelConfig{}, fmt.Errorf("routing target '%s' is a first_available selector and cannot be used as a first_available candidate dependency", ref)
264 }
265 if len(model.Routing) > 0 {
266 return latest.ModelConfig{}, fmt.Errorf("routing target '%s' has routing rules and cannot be used as a first_available candidate dependency", ref)
267 }
268 if err := validateCandidateProvider(cfg, ref, model.Provider); err != nil {
269 return latest.ModelConfig{}, err
270 }
271 return model, nil
272 }
273
274 parsed, err := latest.ParseModelRef(ref)
275 if err != nil {
276 return latest.ModelConfig{}, fmt.Errorf("routing target '%s' is not a known model nor a valid 'provider/model' spec", ref)
277 }
278 if err := validateCandidateProvider(cfg, ref, parsed.Provider); err != nil {
279 return latest.ModelConfig{}, err
280 }
281 return parsed, nil
282}

Callers 1

Calls 3

ParseModelRefFunction · 0.92
IsFirstAvailableMethod · 0.45

Tested by

no test coverage detected