feat(startup): fetch model definition remotely (#1654)

This commit is contained in:
Ettore Di Giacinto 2024-01-28 00:14:16 +01:00 committed by GitHub
parent f928899338
commit 6ac5d814fb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 68 additions and 6 deletions

View file

@ -14,10 +14,22 @@ import (
// PreloadModelsConfigurations will preload models from the given list of URLs
// It will download the model if it is not already present in the model path
// It will also try to resolve if the model is an embedded model YAML configuration
func PreloadModelsConfigurations(modelPath string, models ...string) {
func PreloadModelsConfigurations(modelLibraryURL string, modelPath string, models ...string) {
for _, url := range models {
url = embedded.ModelShortURL(url)
// As a best effort, try to resolve the model from the remote library
// if it's not resolved we try with the other method below
if modelLibraryURL != "" {
lib, err := embedded.GetRemoteLibraryShorteners(modelLibraryURL)
if err == nil {
if lib[url] != "" {
log.Debug().Msgf("[startup] model configuration is defined remotely: %s (%s)", url, lib[url])
url = lib[url]
}
}
}
url = embedded.ModelShortURL(url)
switch {
case embedded.ExistsInModelsLibrary(url):
modelYAML, err := embedded.ResolveContent(url)