From ca9115d6d083c0787430f9a2f91026a37026da1f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 30 May 2023 11:34:13 +0200 Subject: [PATCH 1/4] fix(deps): update github.com/go-skynet/go-ggml-transformers.cpp digest to 13ccc22 (#427) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index c1ea9b08..541c7a13 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( github.com/go-audio/wav v1.1.0 github.com/go-skynet/bloomz.cpp v0.0.0-20230510223001-e9366e82abdf github.com/go-skynet/go-bert.cpp v0.0.0-20230529074307-771b4a085972 - github.com/go-skynet/go-ggml-transformers.cpp v0.0.0-20230529072326-695f97befe14 + github.com/go-skynet/go-ggml-transformers.cpp v0.0.0-20230529215936-13ccc22621bb github.com/go-skynet/go-llama.cpp v0.0.0-20230529120000-4bd3910005a5 github.com/gofiber/fiber/v2 v2.46.0 github.com/google/uuid v1.3.0 diff --git a/go.sum b/go.sum index cbe69f11..bc6880ea 100644 --- a/go.sum +++ b/go.sum @@ -62,6 +62,8 @@ github.com/go-skynet/go-ggml-transformers.cpp v0.0.0-20230525204055-4f18e5eb7508 github.com/go-skynet/go-ggml-transformers.cpp v0.0.0-20230525204055-4f18e5eb7508/go.mod h1:hjmO5UfipWl6xkPT54acOs9DDto8GPV81IvsBcvRjsA= github.com/go-skynet/go-ggml-transformers.cpp v0.0.0-20230529072326-695f97befe14 h1:0VZ5NbrtqvLvBRs0ioXBb9Mp8cOYRqG2WgAIf3+3dlw= github.com/go-skynet/go-ggml-transformers.cpp v0.0.0-20230529072326-695f97befe14/go.mod h1:Rz967+t+aY6S+TBiW/WI8FM/C1WEMM+DamSMtKRxVAM= +github.com/go-skynet/go-ggml-transformers.cpp v0.0.0-20230529215936-13ccc22621bb h1:slNlMT8xB6w0QaMroTsqkNzNovUOEkpNpCawB7IjBFY= +github.com/go-skynet/go-ggml-transformers.cpp v0.0.0-20230529215936-13ccc22621bb/go.mod h1:SI+oF2+THMydq8Vo4+EzKJaQwtfWOy+lr7yWPP6FR2U= github.com/go-skynet/go-gpt2.cpp v0.0.0-20230523153133-3eb3a32c0874 h1:/6QWh2oarU7iPSpXj/3bLlkKptyxjKTRrNtGUrh8vhI= github.com/go-skynet/go-gpt2.cpp v0.0.0-20230523153133-3eb3a32c0874/go.mod h1:1Wj/xbkMfwQSOrhNYK178IzqQHstZbRfhx4s8p1M5VM= github.com/go-skynet/go-llama.cpp v0.0.0-20230520155239-ccf23adfb278 h1:st4ow9JKy3UuhkwutrbWof2vMFU/YxwBCLYZ1IxJ2Po= From aacb96df7afbd63e1c44f5e0dce580a4714634ec Mon Sep 17 00:00:00 2001 From: Ettore Di Giacinto Date: Tue, 30 May 2023 12:00:30 +0200 Subject: [PATCH 2/4] fix: correctly handle errors from App constructor (#430) Signed-off-by: mudler --- Dockerfile | 2 +- Dockerfile.dev | 2 +- api/api.go | 8 ++++---- main.go | 9 +++++++-- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index d730d4b4..60c30669 100644 --- a/Dockerfile +++ b/Dockerfile @@ -42,7 +42,7 @@ COPY . . RUN make build # Define the health check command -HEALTHCHECK --interval=30s --timeout=360s --retries=10 \ +HEALTHCHECK --interval=1m --timeout=10m --retries=10 \ CMD curl -f $HEALTHCHECK_ENDPOINT || exit 1 EXPOSE 8080 diff --git a/Dockerfile.dev b/Dockerfile.dev index df44359a..bc4a3377 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -72,7 +72,7 @@ RUN apt-get install -y libgomp1 libopencv-core4.5 libopencv-imgcodecs4.5 COPY --from=builder /build/local-ai /usr/bin/local-ai # Define the health check command -HEALTHCHECK --interval=30s --timeout=360s --retries=10 \ +HEALTHCHECK --interval=1m --timeout=10m --retries=10 \ CMD curl -f $HEALTHCHECK_ENDPOINT || exit 1 EXPOSE 8080 diff --git a/api/api.go b/api/api.go index dd5f3022..fb3addca 100644 --- a/api/api.go +++ b/api/api.go @@ -11,7 +11,7 @@ import ( "github.com/rs/zerolog/log" ) -func App(opts ...AppOption) *fiber.App { +func App(opts ...AppOption) (*fiber.App, error) { options := newOptions(opts...) zerolog.SetGlobalLevel(zerolog.InfoLevel) @@ -71,13 +71,13 @@ func App(opts ...AppOption) *fiber.App { if options.preloadJSONModels != "" { if err := ApplyGalleryFromString(options.loader.ModelPath, options.preloadJSONModels, cm); err != nil { - return nil + return nil, err } } if options.preloadModelsFromPath != "" { if err := ApplyGalleryFromFile(options.loader.ModelPath, options.preloadModelsFromPath, cm); err != nil { - return nil + return nil, err } } @@ -138,5 +138,5 @@ func App(opts ...AppOption) *fiber.App { app.Get("/v1/models", listModels(options.loader, cm)) app.Get("/models", listModels(options.loader, cm)) - return app + return app, nil } diff --git a/main.go b/main.go index f391affc..bdf95db7 100644 --- a/main.go +++ b/main.go @@ -111,7 +111,7 @@ It uses llama.cpp, ggml and gpt4all as backend with golang c bindings. Copyright: "go-skynet authors", Action: func(ctx *cli.Context) error { fmt.Printf("Starting LocalAI using %d threads, with models path: %s\n", ctx.Int("threads"), ctx.String("models-path")) - return api.App( + app, err := api.App( api.WithConfigFile(ctx.String("config-file")), api.WithJSONStringPreload(ctx.String("preload-models")), api.WithYAMLConfigPreload(ctx.String("preload-models-config")), @@ -124,7 +124,12 @@ It uses llama.cpp, ggml and gpt4all as backend with golang c bindings. api.WithCors(ctx.Bool("cors")), api.WithCorsAllowOrigins(ctx.String("cors-allow-origins")), api.WithThreads(ctx.Int("threads")), - api.WithUploadLimitMB(ctx.Int("upload-limit"))).Listen(ctx.String("address")) + api.WithUploadLimitMB(ctx.Int("upload-limit"))) + if err != nil { + return err + } + + return app.Listen(ctx.String("address")) }, } From ff8295a97cb6da081f4248e5124822ec21455e8a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 30 May 2023 12:22:25 +0200 Subject: [PATCH 3/4] fix(deps): update github.com/go-skynet/go-llama.cpp digest to 4afcaf2 (#428) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 541c7a13..1b26b102 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/go-skynet/bloomz.cpp v0.0.0-20230510223001-e9366e82abdf github.com/go-skynet/go-bert.cpp v0.0.0-20230529074307-771b4a085972 github.com/go-skynet/go-ggml-transformers.cpp v0.0.0-20230529215936-13ccc22621bb - github.com/go-skynet/go-llama.cpp v0.0.0-20230529120000-4bd3910005a5 + github.com/go-skynet/go-llama.cpp v0.0.0-20230529221033-4afcaf28f36f github.com/gofiber/fiber/v2 v2.46.0 github.com/google/uuid v1.3.0 github.com/hashicorp/go-multierror v1.1.1 diff --git a/go.sum b/go.sum index bc6880ea..19c11ae9 100644 --- a/go.sum +++ b/go.sum @@ -74,6 +74,8 @@ github.com/go-skynet/go-llama.cpp v0.0.0-20230524233806-6e7e69a1607e h1:zfxPbHj7 github.com/go-skynet/go-llama.cpp v0.0.0-20230524233806-6e7e69a1607e/go.mod h1:oA0r4BW8ndyjTMGi1tulsNd7sdg3Ql8MaVFuT1zF6ws= github.com/go-skynet/go-llama.cpp v0.0.0-20230529120000-4bd3910005a5 h1:AbKnkgzkjkyoJtjOHgR3+rmNKOOjmRja6De3HEa7S7E= github.com/go-skynet/go-llama.cpp v0.0.0-20230529120000-4bd3910005a5/go.mod h1:oA0r4BW8ndyjTMGi1tulsNd7sdg3Ql8MaVFuT1zF6ws= +github.com/go-skynet/go-llama.cpp v0.0.0-20230529221033-4afcaf28f36f h1:HmXiNF9Sy+34aSjaJ2/JN+goDgbT2XyLjdiG2EOMvaE= +github.com/go-skynet/go-llama.cpp v0.0.0-20230529221033-4afcaf28f36f/go.mod h1:oA0r4BW8ndyjTMGi1tulsNd7sdg3Ql8MaVFuT1zF6ws= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= From f401181cb5991fcce697749705864d1f99f13138 Mon Sep 17 00:00:00 2001 From: Ettore Di Giacinto Date: Tue, 30 May 2023 12:35:32 +0200 Subject: [PATCH 4/4] fix: switch back to upstream for rwkv bindings (#432) --- Makefile | 4 ++-- api/api_test.go | 11 ++++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 8a0f62aa..2d040e35 100644 --- a/Makefile +++ b/Makefile @@ -7,8 +7,8 @@ GOLLAMA_VERSION?=4bd3910005a593a6db237bc82c506d6d9fb81b18 GPT4ALL_REPO?=https://github.com/nomic-ai/gpt4all GPT4ALL_VERSION?=73db20ba85fbbdc66a56e2619394c0eea40dc72b GOGGMLTRANSFORMERS_VERSION?=695f97befe14f0107d8da1c11f5b84912e0754b6 -RWKV_REPO?=https://github.com/mudler/go-rwkv.cpp -RWKV_VERSION?=dcbd34aff983b3d04fa300c5da5ec4bfdf6db295 +RWKV_REPO?=https://github.com/donomii/go-rwkv.cpp +RWKV_VERSION?=ccb05c3e1c6efd098017d114dcb58ab3262b40b2 WHISPER_CPP_VERSION?=9b926844e3ae0ca6a0d13573b2e0349be1a4b573 BERT_VERSION?=cea1ed76a7f48ef386a8e369f6c82c48cdf2d551 BLOOMZ_VERSION?=1834e77b83faafe912ad4092ccf7f77937349e2f diff --git a/api/api_test.go b/api/api_test.go index 4b245143..2fa7e43b 100644 --- a/api/api_test.go +++ b/api/api_test.go @@ -114,7 +114,8 @@ var _ = Describe("API test", func() { modelLoader = model.NewModelLoader(tmpdir) c, cancel = context.WithCancel(context.Background()) - app = App(WithContext(c), WithModelLoader(modelLoader)) + app, err = App(WithContext(c), WithModelLoader(modelLoader)) + Expect(err).ToNot(HaveOccurred()) go app.Listen("127.0.0.1:9090") defaultConfig := openai.DefaultConfig("") @@ -198,7 +199,9 @@ var _ = Describe("API test", func() { modelLoader = model.NewModelLoader(os.Getenv("MODELS_PATH")) c, cancel = context.WithCancel(context.Background()) - app = App(WithContext(c), WithModelLoader(modelLoader)) + var err error + app, err = App(WithContext(c), WithModelLoader(modelLoader)) + Expect(err).ToNot(HaveOccurred()) go app.Listen("127.0.0.1:9090") defaultConfig := openai.DefaultConfig("") @@ -316,7 +319,9 @@ var _ = Describe("API test", func() { modelLoader = model.NewModelLoader(os.Getenv("MODELS_PATH")) c, cancel = context.WithCancel(context.Background()) - app = App(WithContext(c), WithModelLoader(modelLoader), WithConfigFile(os.Getenv("CONFIG_FILE"))) + var err error + app, err = App(WithContext(c), WithModelLoader(modelLoader), WithConfigFile(os.Getenv("CONFIG_FILE"))) + Expect(err).ToNot(HaveOccurred()) go app.Listen("127.0.0.1:9090") defaultConfig := openai.DefaultConfig("")