MCPcopy Create free account
hub / github.com/chainreactors/EvilProxy / applyExcludedModels

Function applyExcludedModels

sdk/cliproxy/service.go:2322–2355  ·  view source on GitHub ↗
(models []*ModelInfo, excluded []string)

Source from the content-addressed store, hash-verified

2320}
2321
2322func applyExcludedModels(models []*ModelInfo, excluded []string) []*ModelInfo {
2323 if len(models) == 0 || len(excluded) == 0 {
2324 return models
2325 }
2326
2327 patterns := make([]string, 0, len(excluded))
2328 for _, item := range excluded {
2329 if trimmed := strings.TrimSpace(item); trimmed != "" {
2330 patterns = append(patterns, strings.ToLower(trimmed))
2331 }
2332 }
2333 if len(patterns) == 0 {
2334 return models
2335 }
2336
2337 filtered := make([]*ModelInfo, 0, len(models))
2338 for _, model := range models {
2339 if model == nil {
2340 continue
2341 }
2342 modelID := strings.ToLower(strings.TrimSpace(model.ID))
2343 blocked := false
2344 for _, pattern := range patterns {
2345 if matchWildcard(pattern, modelID) {
2346 blocked = true
2347 break
2348 }
2349 }
2350 if !blocked {
2351 filtered = append(filtered, model)
2352 }
2353 }
2354 return filtered
2355}
2356
2357func applyModelPrefixes(models []*ModelInfo, prefix string, forceModelPrefix bool) []*ModelInfo {
2358 trimmedPrefix := strings.TrimSpace(prefix)

Calls 1

matchWildcardFunction · 0.85

Tested by

no test coverage detected