diff --git a/convert/mixtral.go b/convert/mixtral.go index e31e84af..940df55d 100644 --- a/convert/mixtral.go +++ b/convert/mixtral.go @@ -1,7 +1,7 @@ package convert import ( - "os" + "io" "regexp" "github.com/ollama/ollama/llm" @@ -47,7 +47,7 @@ func (m *MixtralModel) LoadVocab() error { return nil } -func (m *MixtralModel) WriteGGUF() (string, error) { +func (m *MixtralModel) WriteGGUF(ws io.WriteSeeker) error { kv := llm.KV{ "general.architecture": "llama", "general.name": m.Name, @@ -81,16 +81,5 @@ func (m *MixtralModel) WriteGGUF() (string, error) { "tokenizer.ggml.add_eos_token": false, } - f, err := os.CreateTemp("", "ollama-gguf") - if err != nil { - return "", err - } - defer f.Close() - - mod := llm.NewGGUFV3(m.Params.ByteOrder) - if err := mod.Encode(f, kv, m.Tensors); err != nil { - return "", err - } - - return f.Name(), nil + return llm.NewGGUFV3(m.Params.ByteOrder).Encode(ws, kv, m.Tensors) } diff --git a/server/images.go b/server/images.go index 998d1335..4d4b47c4 100644 --- a/server/images.go +++ b/server/images.go @@ -345,7 +345,7 @@ func CreateModel(ctx context.Context, name, modelFileDir, quantization string, m switch c.Name { case "model", "adapter": var baseLayers *ordered.Map[*Layer, *llm.GGML] - if name := model.ParseName(c.Args, ""); name.IsValid() { + if name := model.ParseName(c.Args); name.IsValid() { baseLayers, err = parseFromModel(ctx, name, fn) if err != nil { return err