2024-04-17 23:33:49 +02:00
|
|
|
package startup_test
|
2024-01-05 17:16:33 -05:00
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"os"
|
|
|
|
"path/filepath"
|
|
|
|
|
2024-06-24 17:32:12 +02:00
|
|
|
"github.com/mudler/LocalAI/core/config"
|
2024-06-23 01:24:36 -07:00
|
|
|
. "github.com/mudler/LocalAI/pkg/startup"
|
2024-01-05 17:16:33 -05:00
|
|
|
|
|
|
|
. "github.com/onsi/ginkgo/v2"
|
|
|
|
. "github.com/onsi/gomega"
|
|
|
|
)
|
|
|
|
|
|
|
|
var _ = Describe("Preload test", func() {
|
|
|
|
|
|
|
|
Context("Preloading from strings", func() {
|
|
|
|
It("loads from embedded full-urls", func() {
|
|
|
|
tmpdir, err := os.MkdirTemp("", "")
|
|
|
|
Expect(err).ToNot(HaveOccurred())
|
2024-10-30 10:57:21 +01:00
|
|
|
url := "https://raw.githubusercontent.com/mudler/LocalAI-examples/main/configurations/phi-2.yaml"
|
2024-07-11 15:04:05 +02:00
|
|
|
fileName := fmt.Sprintf("%s.yaml", "phi-2")
|
2024-01-05 17:16:33 -05:00
|
|
|
|
2025-01-30 00:03:01 +01:00
|
|
|
InstallModels([]config.Gallery{}, tmpdir, true, nil, url)
|
2024-01-05 17:16:33 -05:00
|
|
|
|
|
|
|
resultFile := filepath.Join(tmpdir, fileName)
|
|
|
|
|
|
|
|
content, err := os.ReadFile(resultFile)
|
|
|
|
Expect(err).ToNot(HaveOccurred())
|
|
|
|
|
|
|
|
Expect(string(content)).To(ContainSubstring("name: phi-2"))
|
|
|
|
})
|
2024-07-11 15:04:05 +02:00
|
|
|
It("downloads from urls", func() {
|
|
|
|
tmpdir, err := os.MkdirTemp("", "")
|
|
|
|
Expect(err).ToNot(HaveOccurred())
|
|
|
|
url := "huggingface://TheBloke/TinyLlama-1.1B-Chat-v0.3-GGUF/tinyllama-1.1b-chat-v0.3.Q2_K.gguf"
|
|
|
|
fileName := fmt.Sprintf("%s.gguf", "tinyllama-1.1b-chat-v0.3.Q2_K")
|
|
|
|
|
2025-01-30 00:03:01 +01:00
|
|
|
err = InstallModels([]config.Gallery{}, tmpdir, false, nil, url)
|
2024-07-11 15:04:05 +02:00
|
|
|
Expect(err).ToNot(HaveOccurred())
|
|
|
|
|
|
|
|
resultFile := filepath.Join(tmpdir, fileName)
|
|
|
|
|
|
|
|
_, err = os.Stat(resultFile)
|
|
|
|
Expect(err).ToNot(HaveOccurred())
|
|
|
|
})
|
2024-01-05 17:16:33 -05:00
|
|
|
})
|
|
|
|
})
|