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

copy metadata from source
This commit is contained in:
Michael Yang 2023-08-18 13:49:09 -07:00 committed by GitHub
commit 386c66f285
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 36 additions and 2 deletions

View file

@ -117,7 +117,21 @@ func (llm *llamaModel) ModelFamily() ModelFamily {
}
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 {

View file

@ -325,7 +325,27 @@ func CreateModel(ctx context.Context, name string, path string, fn func(resp api
}
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 {
newLayer, err := GetLayerWithBufferFromLayer(l)
if err != nil {