Spaces:
Configuration error
Configuration error
package main | |
import ( | |
"fmt" | |
"os" | |
"path/filepath" | |
"github.com/mudler/LocalAI/pkg/downloader" | |
"github.com/mudler/LocalAI/pkg/utils" | |
"gopkg.in/yaml.v3" | |
) | |
type Asset struct { | |
FileName string `yaml:"filename"` | |
URL string `yaml:"url"` | |
SHA string `yaml:"sha"` | |
} | |
func main() { | |
// read the YAML file which contains a list of assets | |
// and download them in the asset path | |
assets := []Asset{} | |
assetFile := os.Args[1] | |
destPath := os.Args[2] | |
// read the YAML file | |
f, err := os.ReadFile(assetFile) | |
if err != nil { | |
panic(err) | |
} | |
// unmarshal the YAML data into a struct | |
if err := yaml.Unmarshal(f, &assets); err != nil { | |
panic(err) | |
} | |
// download the assets | |
for _, asset := range assets { | |
uri := downloader.URI(asset.URL) | |
if err := uri.DownloadFile(filepath.Join(destPath, asset.FileName), asset.SHA, 1, 1, utils.DisplayDownloadFunction); err != nil { | |
panic(err) | |
} | |
} | |
fmt.Println("Finished downloading assets") | |
} | |