Michael Yang hai 1 ano
pai
achega
fd071eab8b
Modificáronse 2 ficheiros con 4 adicións e 15 borrados
  1. 3 14
      convert/mixtral.go
  2. 1 1
      server/images.go

+ 3 - 14
convert/mixtral.go

@@ -1,7 +1,7 @@
 package convert
 package convert
 
 
 import (
 import (
-	"os"
+	"io"
 	"regexp"
 	"regexp"
 
 
 	"github.com/ollama/ollama/llm"
 	"github.com/ollama/ollama/llm"
@@ -47,7 +47,7 @@ func (m *MixtralModel) LoadVocab() error {
 	return nil
 	return nil
 }
 }
 
 
-func (m *MixtralModel) WriteGGUF() (string, error) {
+func (m *MixtralModel) WriteGGUF(ws io.WriteSeeker) error {
 	kv := llm.KV{
 	kv := llm.KV{
 		"general.architecture":          "llama",
 		"general.architecture":          "llama",
 		"general.name":                  m.Name,
 		"general.name":                  m.Name,
@@ -81,16 +81,5 @@ func (m *MixtralModel) WriteGGUF() (string, error) {
 		"tokenizer.ggml.add_eos_token":    false,
 		"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)
 }
 }

+ 1 - 1
server/images.go

@@ -317,7 +317,7 @@ func CreateModel(ctx context.Context, name, modelFileDir, quantization string, c
 		switch c.Name {
 		switch c.Name {
 		case "model", "adapter":
 		case "model", "adapter":
 			var baseLayers *ordered.Map[*Layer, *llm.GGML]
 			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)
 				baseLayers, err = parseFromModel(ctx, name, fn)
 				if err != nil {
 				if err != nil {
 					return err
 					return err