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") | |
| } | |