|
4 | 4 | "bytes" |
5 | 5 | "fmt" |
6 | 6 | "os" |
| 7 | + "slices" |
7 | 8 | "strings" |
8 | 9 | "time" |
9 | 10 |
|
@@ -88,20 +89,12 @@ func listModels(openai bool, backend string, desktopClient *desktop.Client, quie |
88 | 89 | } |
89 | 90 |
|
90 | 91 | if modelFilter != "" { |
91 | | - // Normalize the filter to match stored model names |
92 | | - normalizedFilter := dmrm.NormalizeModelName(modelFilter) |
93 | 92 | var filteredModels []dmrm.Model |
94 | 93 | for _, m := range models { |
95 | 94 | hasMatchingTag := false |
96 | 95 | for _, tag := range m.Tags { |
97 | | - if tag == normalizedFilter { |
98 | | - hasMatchingTag = true |
99 | | - break |
100 | | - } |
101 | | - // Also check without the tag part |
102 | 96 | modelName, _, _ := strings.Cut(tag, ":") |
103 | | - filterName, _, _ := strings.Cut(normalizedFilter, ":") |
104 | | - if modelName == filterName { |
| 97 | + if slices.Contains([]string{modelName, tag + ":latest", tag}, modelFilter) { |
105 | 98 | hasMatchingTag = true |
106 | 99 | break |
107 | 100 | } |
@@ -172,10 +165,8 @@ func appendRow(table *tablewriter.Table, tag string, model dmrm.Model) { |
172 | 165 | fmt.Fprintf(os.Stderr, "invalid model ID for model: %v\n", model) |
173 | 166 | return |
174 | 167 | } |
175 | | - // Strip default "ai/" prefix and ":latest" tag for display |
176 | | - displayTag := stripDefaultsFromModelName(tag) |
177 | 168 | table.Append([]string{ |
178 | | - displayTag, |
| 169 | + tag, |
179 | 170 | model.Config.Parameters, |
180 | 171 | model.Config.Quantization, |
181 | 172 | model.Config.Architecture, |
|
0 commit comments