@@ -12,6 +12,7 @@ import (
1212 "math"
1313 "os"
1414 "path/filepath"
15+ "reflect"
1516 "strings"
1617
1718 "github.com/LM4eu/goinfer/gie"
@@ -257,9 +258,9 @@ func (cfg *Cfg) setSwapModels() {
257258}
258259
259260// Add the model settings within the llama-swap configuration.
260- func (cfg * Cfg ) addModelCfg (modelName , cmd string , mc * config.ModelConfig ) {
261+ func (cfg * Cfg ) addModelCfg (model , cmd string , mc * config.ModelConfig ) {
261262 mCfg := * mc // copy
262- mCfg .Cmd = cmd
263+ mCfg .Cmd = strings . TrimSpace ( cmd )
263264
264265 mCfg .CheckEndpoint = "/health"
265266 if strings .Contains (cmd , " -hf " ) {
@@ -269,13 +270,21 @@ func (cfg *Cfg) addModelCfg(modelName, cmd string, mc *config.ModelConfig) {
269270 mCfg .CheckEndpoint = "none"
270271 }
271272
272- old , ok := cfg .Swap .Models [modelName ]
273+ model = strings .Replace (model , "-GGUF" , "" , 1 )
274+
275+ old , ok := cfg .Swap .Models [model ]
273276 if ok {
274- slog .Debug ("Overwrite config" , "old" , old )
275- slog .Debug ("Overwrite config" , "new" , modelName )
277+ if old .Cmd != "" && old .Cmd != mCfg .Cmd {
278+ mCfg .Cmd += " " + old .Cmd
279+ slog .Info ("Merge" , "model" , model , "old" , old )
280+ slog .Info ("Merge" , "model" , model , "new" , mCfg )
281+ } else if ! reflect .DeepEqual (old .Cmd , mCfg .Cmd ) {
282+ slog .Info ("Overwrite" , "model" , model , "old" , old )
283+ slog .Info ("Overwrite" , "model" , model , "new" , mCfg )
284+ }
276285 }
277286
278- cfg .Swap .Models [modelName ] = mCfg
287+ cfg .Swap .Models [model ] = mCfg
279288}
280289
281290func (cfg * Cfg ) setAPIKey (debug , noAPIKey bool ) {
0 commit comments