Browse Source

Merge pull request #378 from jmorganca/mxyng/copy-metadata-from-source

copy metadata from source
Michael Yang 1 năm trước cách đây
mục cha
commit
386c66f285
2 tập tin đã thay đổi với 36 bổ sung2 xóa
  1. 15 1
      llm/llama.go
  2. 21 1
      server/images.go

+ 15 - 1
llm/llama.go

@@ -117,7 +117,21 @@ func (llm *llamaModel) ModelFamily() ModelFamily {
 }
 }
 
 
 func (llm *llamaModel) ModelType() ModelType {
 func (llm *llamaModel) ModelType() ModelType {
-	return ModelType30B
+	switch llm.hyperparameters.NumLayer {
+	case 26:
+		return ModelType3B
+	case 32:
+		return ModelType7B
+	case 40:
+		return ModelType13B
+	case 60:
+		return ModelType30B
+	case 80:
+		return ModelType65B
+	}
+
+	// TODO: find a better default
+	return ModelType7B
 }
 }
 
 
 func (llm *llamaModel) FileType() FileType {
 func (llm *llamaModel) FileType() FileType {

+ 21 - 1
server/images.go

@@ -325,7 +325,27 @@ func CreateModel(ctx context.Context, name string, path string, fn func(resp api
 			}
 			}
 
 
 			if mf != nil {
 			if mf != nil {
-				log.Printf("manifest = %#v", mf)
+				sourceBlobPath, err := GetBlobsPath(mf.Config.Digest)
+				if err != nil {
+					return err
+				}
+
+				sourceBlob, err := os.Open(sourceBlobPath)
+				if err != nil {
+					return err
+				}
+				defer sourceBlob.Close()
+
+				var source ConfigV2
+				if err := json.NewDecoder(sourceBlob).Decode(&source); err != nil {
+					return err
+				}
+
+				// copie the model metadata
+				config.ModelFamily = source.ModelFamily
+				config.ModelType = source.ModelType
+				config.FileType = source.FileType
+
 				for _, l := range mf.Layers {
 				for _, l := range mf.Layers {
 					newLayer, err := GetLayerWithBufferFromLayer(l)
 					newLayer, err := GetLayerWithBufferFromLayer(l)
 					if err != nil {
 					if err != nil {