mirror of
https://github.com/mudler/LocalAI.git
synced 2024-12-25 15:21:04 +00:00
5866fc8ded
Signed-off-by: Sertac Ozercan <sozercan@gmail.com>
47 lines
935 B
Go
47 lines
935 B
Go
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 {
|
|
if err := downloader.DownloadFile(asset.URL, filepath.Join(destPath, asset.FileName), asset.SHA, 1, 1, utils.DisplayDownloadFunction); err != nil {
|
|
panic(err)
|
|
}
|
|
}
|
|
|
|
fmt.Println("Finished downloading assets")
|
|
}
|