From 59af0e77afd127d1add1805803fdea5d92a722e2 Mon Sep 17 00:00:00 2001 From: Ettore Di Giacinto Date: Tue, 25 Jun 2024 20:22:17 +0200 Subject: [PATCH] feat(ui): allow to select between all the available models in the chat (#2657) feat(ui): let the chat to select from all the detected models Signed-off-by: Ettore Di Giacinto --- core/http/routes/ui.go | 13 +++++++------ core/http/views/chat.html | 6 +++--- core/http/views/talk.html | 2 +- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/core/http/routes/ui.go b/core/http/routes/ui.go index 3c805422..4618f032 100644 --- a/core/http/routes/ui.go +++ b/core/http/routes/ui.go @@ -26,6 +26,7 @@ func RegisterUIRoutes(app *fiber.App, appConfig *config.ApplicationConfig, galleryService *services.GalleryService, auth func(*fiber.Ctx) error) { + tmpLMS := services.NewListModelsService(ml, cl, appConfig) // TODO: once createApplication() is fully in use, reference the central instance. // keeps the state of models that are being installed from the UI var processingModels = xsync.NewSyncedMap[string, string]() @@ -235,7 +236,7 @@ func RegisterUIRoutes(app *fiber.App, // Show the Chat page app.Get("/chat/:model", auth, func(c *fiber.Ctx) error { - backendConfigs := cl.GetAllBackendConfigs() + backendConfigs, _ := tmpLMS.ListModels("", true) summary := fiber.Map{ "Title": "LocalAI - Chat with " + c.Params("model"), @@ -249,7 +250,7 @@ func RegisterUIRoutes(app *fiber.App, }) app.Get("/talk/", auth, func(c *fiber.Ctx) error { - backendConfigs := cl.GetAllBackendConfigs() + backendConfigs, _ := tmpLMS.ListModels("", true) if len(backendConfigs) == 0 { // If no model is available redirect to the index which suggests how to install models @@ -259,7 +260,7 @@ func RegisterUIRoutes(app *fiber.App, summary := fiber.Map{ "Title": "LocalAI - Talk", "ModelsConfig": backendConfigs, - "Model": backendConfigs[0].Name, + "Model": backendConfigs[0].ID, "Version": internal.PrintableVersion(), } @@ -269,7 +270,7 @@ func RegisterUIRoutes(app *fiber.App, app.Get("/chat/", auth, func(c *fiber.Ctx) error { - backendConfigs := cl.GetAllBackendConfigs() + backendConfigs, _ := tmpLMS.ListModels("", true) if len(backendConfigs) == 0 { // If no model is available redirect to the index which suggests how to install models @@ -277,9 +278,9 @@ func RegisterUIRoutes(app *fiber.App, } summary := fiber.Map{ - "Title": "LocalAI - Chat with " + backendConfigs[0].Name, + "Title": "LocalAI - Chat with " + backendConfigs[0].ID, "ModelsConfig": backendConfigs, - "Model": backendConfigs[0].Name, + "Model": backendConfigs[0].ID, "Version": internal.PrintableVersion(), } diff --git a/core/http/views/chat.html b/core/http/views/chat.html index 7f13c7bd..1e490b65 100644 --- a/core/http/views/chat.html +++ b/core/http/views/chat.html @@ -100,10 +100,10 @@ SOFTWARE. {{ $model:=.Model}} {{ range .ModelsConfig }} - {{ if eq .Name $model }} - + {{ if eq .ID $model }} + {{ else }} - + {{ end }} {{ end }} diff --git a/core/http/views/talk.html b/core/http/views/talk.html index 0846a0c8..14e6b7a5 100644 --- a/core/http/views/talk.html +++ b/core/http/views/talk.html @@ -62,7 +62,7 @@ {{ range .ModelsConfig }} - + {{ end }}