From 85e3fc2ec04a0bfe0667cb750e176d850d7bcd8d Mon Sep 17 00:00:00 2001 From: Adrien Date: Sat, 8 Jun 2024 10:27:50 +0200 Subject: [PATCH] fix --- Authentification.go | 2 +- Chat.go | 52 ++-- EdgeDatabase.go | 20 +- MyUtils.go | 34 +- Request.go | 3 + RequestPerplexity.go | 184 +++++++++++ main.go | 363 ++++------------------ static/icons/image.png | Bin 0 -> 31142 bytes static/icons/perplexity.png | Bin 0 -> 68949 bytes static/icons/perplexity2.png | Bin 0 -> 41293 bytes views/partials/chat-input.html | 4 +- views/partials/explain-llm-conv-chat.html | 8 +- views/partials/message-bot.html | 2 +- views/partials/popover-models.html | 6 +- views/partials/popover-settings.html | 12 +- views/partials/welcome-chat.html | 29 +- 16 files changed, 352 insertions(+), 367 deletions(-) create mode 100644 RequestPerplexity.go create mode 100644 static/icons/image.png create mode 100644 static/icons/perplexity.png create mode 100644 static/icons/perplexity2.png diff --git a/Authentification.go b/Authentification.go index bcd18bd..0849bd2 100644 --- a/Authentification.go +++ b/Authentification.go @@ -233,7 +233,7 @@ func handleCallbackSignup(c *fiber.Ctx) error { stripCustID := CreateNewStripeCustomer(providerName, providerEmail) - err = edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).Execute(edgeCtx, ` + err = edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": tokenResponse.AuthToken}).Execute(edgeCtx, ` INSERT User { stripe_id := $0, email := $1, diff --git a/Chat.go b/Chat.go index c93864e..ebfb2cb 100644 --- a/Chat.go +++ b/Chat.go @@ -717,7 +717,7 @@ func LoadUsageKPIHandler(c *fiber.Ctx) error { } func GenerateModelPopoverHTML(refresh bool, c *fiber.Ctx) string { - openaiExists, anthropicExists, mistralExists, groqExists, gooseaiExists, googleExists := getExistingKeys(c) + openaiExists, anthropicExists, mistralExists, groqExists, gooseaiExists, googleExists, perplexityExists := getExistingKeys(c) var llms []LLM err := edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).Query(edgeCtx, ` @@ -747,18 +747,19 @@ func GenerateModelPopoverHTML(refresh bool, c *fiber.Ctx) string { isPremium, isBasic := IsCurrentUserSubscribed(c) out, err := modelPopoverTmpl.Execute(pongo2.Context{ - "IsLogin": checkIfLogin(c), - "OpenaiExists": openaiExists, - "AnthropicExists": anthropicExists, - "MistralExists": mistralExists, - "GroqExists": groqExists, - "GooseaiExists": gooseaiExists, - "GoogleExists": googleExists, - "AnyExists": openaiExists || anthropicExists || mistralExists || groqExists || gooseaiExists || googleExists, - "LLMs": llms, - "ModelInfos": modelInfos, - "DeleteUpdate": refresh, - "IsSub": isPremium || isBasic, + "IsLogin": checkIfLogin(c), + "OpenaiExists": openaiExists, + "AnthropicExists": anthropicExists, + "MistralExists": mistralExists, + "GroqExists": groqExists, + "GooseaiExists": gooseaiExists, + "GoogleExists": googleExists, + "PerplexityExists": perplexityExists, + "AnyExists": openaiExists || anthropicExists || mistralExists || groqExists || gooseaiExists || googleExists || perplexityExists, + "LLMs": llms, + "ModelInfos": modelInfos, + "DeleteUpdate": refresh, + "IsSub": isPremium || isBasic, }) if err != nil { fmt.Println("Error generating model popover") @@ -845,21 +846,22 @@ func LoadSettingsHandler(c *fiber.Ctx) error { stripeSubLink := "https://billing.stripe.com/p/login/6oE6sc0PTfvq1Hi288?prefilled_email=" + user.Email - openaiExists, anthropicExists, mistralExists, groqExists, gooseaiExists, googleExists := getExistingKeys(c) + openaiExists, anthropicExists, mistralExists, groqExists, gooseaiExists, googleExists, perplexityExists := getExistingKeys(c) isPremium, isBasic := IsCurrentUserSubscribed(c) out, err := settingPopoverTmpl.Execute(pongo2.Context{ - "IsLogin": checkIfLogin(c), - "OpenaiExists": openaiExists, - "AnthropicExists": anthropicExists, - "MistralExists": mistralExists, - "GroqExists": groqExists, - "GooseaiExists": gooseaiExists, - "GoogleExists": googleExists, - "AnyExists": openaiExists || anthropicExists || mistralExists || groqExists || gooseaiExists || googleExists, - "isPremium": isPremium, - "isBasic": isBasic, - "StripeSubLink": stripeSubLink, + "IsLogin": checkIfLogin(c), + "OpenaiExists": openaiExists, + "AnthropicExists": anthropicExists, + "MistralExists": mistralExists, + "GroqExists": groqExists, + "GooseaiExists": gooseaiExists, + "GoogleExists": googleExists, + "PerplexityExists": perplexityExists, + "AnyExists": openaiExists || anthropicExists || mistralExists || groqExists || gooseaiExists || googleExists || perplexityExists, + "isPremium": isPremium, + "isBasic": isBasic, + "StripeSubLink": stripeSubLink, }) if err != nil { fmt.Println("Error loading settings") diff --git a/EdgeDatabase.go b/EdgeDatabase.go index 2c0a61a..b43187d 100644 --- a/EdgeDatabase.go +++ b/EdgeDatabase.go @@ -12,11 +12,6 @@ import ( "github.com/gofiber/fiber/v2" ) -// So I have one client and one context for the database. All query use the same and it work well so far. -var edgeCtx context.Context -var edgeGlobalClient *edgedb.Client - -// I will not put a comment on all type, I think they are self-explaining. type Identity struct { ID edgedb.UUID `edgedb:"id"` Issuer string `edgedb:"issuer"` @@ -54,10 +49,6 @@ type Conversation struct { User User `edgedb:"user"` } -// An area is in between messages and conversation. -// In a normal chat, you have a list of message, easy. By here you need to add, kind of a new dimension. -// All "message" can have multiple messages. So I created a new type named Area. -// A conversation is a list of Area and an Area is a list of Message. Easy enough. type Area struct { ID edgedb.UUID `edgedb:"id"` Position int64 `edgedb:"position"` @@ -68,7 +59,7 @@ type Message struct { ID edgedb.UUID `edgedb:"id"` Content string `edgedb:"content"` Role string `edgedb:"role"` - Selected bool `edgedb:"selected"` // Selected can also be seen as "Active". This is the message that will be use for the request. + Selected bool `edgedb:"selected"` Date time.Time `edgedb:"date"` Area Area `edgedb:"area"` Conv Conversation `edgedb:"conversation"` @@ -85,9 +76,6 @@ type Usage struct { OutputToken int32 `edgedb:"output_token"` } -// A LLM is a bad name but I like it. -// It is more one instance of a model with it parameters. -// Maybe I will add more options later. type LLM struct { ID edgedb.UUID `edgedb:"id"` Name string `edgedb:"name"` @@ -120,6 +108,9 @@ type CompanyInfo struct { Icon string `edgedb:"icon"` } +var edgeCtx context.Context +var edgeGlobalClient *edgedb.Client + func init() { var ctx = context.Background() client, err := edgedb.CreateClient(ctx, edgedb.Options{}) @@ -288,7 +279,8 @@ func getAllSelectedMessages(c *fiber.Ctx) []Message { func checkIfHaveKey(c *fiber.Ctx) bool { var keys []Key - err := edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).Query(edgeCtx, "SELECT global currentUser.setting.keys", &keys) + err := edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).Query(edgeCtx, + "SELECT global currentUser.setting.keys", &keys) if err != nil { panic(err) } diff --git a/MyUtils.go b/MyUtils.go index 9b1d5bd..e83ef14 100644 --- a/MyUtils.go +++ b/MyUtils.go @@ -78,18 +78,19 @@ func addCodeHeader(htmlContent string, languages []string) string { return updatedHTML } -func getExistingKeys(c *fiber.Ctx) (bool, bool, bool, bool, bool, bool) { +func getExistingKeys(c *fiber.Ctx) (bool, bool, bool, bool, bool, bool, bool) { if edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}) == nil { - return false, false, false, false, false, false + return false, false, false, false, false, false, false } var ( - openaiExists bool - anthropicExists bool - mistralExists bool - groqExists bool - gooseaiExists bool - googleExists bool + openaiExists bool + anthropicExists bool + mistralExists bool + groqExists bool + gooseaiExists bool + googleExists bool + perplexityExists bool ) err := edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).QuerySingle(edgeCtx, ` @@ -158,7 +159,18 @@ func getExistingKeys(c *fiber.Ctx) (bool, bool, bool, bool, bool, bool) { panic(err) } - return openaiExists, anthropicExists, mistralExists, groqExists, gooseaiExists, googleExists + err = edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).QuerySingle(edgeCtx, ` + select exists ( + select global currentUser.setting.keys + filter .company.name = "perplexity" + ); + `, &perplexityExists) + if err != nil { + fmt.Println("Error checking if Perplexity key exists") + panic(err) + } + + return openaiExists, anthropicExists, mistralExists, groqExists, gooseaiExists, googleExists, perplexityExists } func Message2RequestMessage(messages []Message, context string) []RequestMessage { @@ -218,7 +230,9 @@ func GetAvailableModels(c *fiber.Ctx) []ModelInfo { name, icon } - } FILTER .modelID != 'none' AND .company.name != 'huggingface' AND .company IN global currentUser.setting.keys.company + } + FILTER .modelID != 'none' AND .company.name != 'huggingface' AND .company IN global currentUser.setting.keys.company + ORDER BY .company.name ASC THEN .name ASC `, &models) if err != nil { fmt.Println("Error getting models") diff --git a/Request.go b/Request.go index d84ad61..80d2e22 100644 --- a/Request.go +++ b/Request.go @@ -137,6 +137,8 @@ func GenerateMultipleMessagesHandler(c *fiber.Ctx) error { addMessageFunc = addHuggingfaceMessage case "google": addMessageFunc = addGoogleMessage + case "perplexity": + addMessageFunc = addPerplexityMessage } var messageID edgedb.UUID @@ -203,6 +205,7 @@ func GenerateMultipleMessagesHandler(c *fiber.Ctx) error { outIcon := `User Image` go func() { + // I do a ping because of sse size limit sendEvent( "swapContent-"+fmt.Sprintf("%d", message.Area.Position), ``, diff --git a/RequestPerplexity.go b/RequestPerplexity.go new file mode 100644 index 0000000..e902548 --- /dev/null +++ b/RequestPerplexity.go @@ -0,0 +1,184 @@ +package main + +import ( + "bytes" + "encoding/json" + "fmt" + "io" + "net/http" + + "github.com/edgedb/edgedb-go" + "github.com/gofiber/fiber/v2" +) + +type PerplexityChatCompletionRequest struct { + Model string `json:"model"` + Messages []RequestMessage `json:"messages"` + Temperature float64 `json:"temperature"` +} + +type PerplexityChatCompletionResponse struct { + ID string `json:"id"` + Object string `json:"object"` + Created int64 `json:"created"` + Model string `json:"model"` + Usage PerplexityUsage `json:"usage"` + Choices []PerplexityChoice `json:"choices"` +} + +type PerplexityUsage struct { + PromptTokens int32 `json:"prompt_tokens"` + CompletionTokens int32 `json:"completion_tokens"` + TotalTokens int32 `json:"total_tokens"` +} + +type PerplexityChoice struct { + Message Message `json:"message"` + FinishReason string `json:"finish_reason"` + Index int `json:"index"` +} + +func addPerplexityMessage(c *fiber.Ctx, llm LLM, selected bool) edgedb.UUID { + Messages := getAllSelectedMessages(c) + + chatCompletion, err := RequestPerplexity(c, llm.Model.ModelID, Messages, float64(llm.Temperature), llm.Context) + if err != nil { + fmt.Println("Error fetching user profile") + panic(err) + } else if len(chatCompletion.Choices) == 0 { + fmt.Println("No response from Perplexity") + id := insertBotMessage(c, "No response from Perplexity", selected, llm.ID) + return id + } else { + Content := chatCompletion.Choices[0].Message.Content + id := insertBotMessage(c, Content, selected, llm.ID) + return id + } +} + +func TestPerplexityKey(apiKey string) bool { + url := "https://api.perplexity.ai/chat/completions" + + // Convert messages to OpenAI format + perplexityMessages := []RequestMessage{ + { + Role: "user", + Content: "Hello", + }, + } + + requestBody := PerplexityChatCompletionRequest{ + Model: "llama-3-8b-instruct", + Messages: perplexityMessages, + Temperature: 0, + } + + jsonBody, err := json.Marshal(requestBody) + if err != nil { + return false + } + + req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonBody)) + if err != nil { + return false + } + + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Authorization", "Bearer "+apiKey) + + client := &http.Client{} + resp, err := client.Do(req) + if err != nil { + return false + } + defer resp.Body.Close() + + body, err := io.ReadAll(resp.Body) + if err != nil { + return false + } + + var chatCompletionResponse PerplexityChatCompletionResponse + err = json.Unmarshal(body, &chatCompletionResponse) + if err != nil { + return false + } + if chatCompletionResponse.Usage.CompletionTokens == 0 { + return false + } + return true +} + +func RequestPerplexity(c *fiber.Ctx, model string, messages []Message, temperature float64, context string) (PerplexityChatCompletionResponse, error) { + var apiKey string + err := edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).QuerySingle(edgeCtx, ` + with + filtered_keys := ( + select Key { + key + } filter .company.name = $0 AND .$0 + LIMIT 1 + `, &usedModelInfo, model) + if err != nil { + return PerplexityChatCompletionResponse{}, fmt.Errorf("error getting model info: %w", err) + } + + var inputCost float32 = float32(chatCompletionResponse.Usage.PromptTokens) * usedModelInfo.InputPrice + var outputCost float32 = float32(chatCompletionResponse.Usage.CompletionTokens) * usedModelInfo.OutputPrice + addUsage(c, inputCost, outputCost, chatCompletionResponse.Usage.PromptTokens, chatCompletionResponse.Usage.CompletionTokens, model) + + return chatCompletionResponse, nil +} diff --git a/main.go b/main.go index cc0427f..9cf5599 100644 --- a/main.go +++ b/main.go @@ -94,7 +94,6 @@ func main() { app.Post("/clearChat", ClearChatHandler) app.Get("/userMessage", GetUserMessageHandler) app.Post("/editMessage", EditMessageHandler) - app.Post("/archiveDefaultConversation", ArchiveDefaultConversationHandler) app.Get("/help", generateHelpChatHandler) // Settings routes @@ -103,14 +102,16 @@ func main() { // Popovers app.Get("/loadModelSelection", LoadModelSelectionHandler) app.Get("/loadConversationSelection", LoadConversationSelectionHandler) - app.Get("/refreshConversationSelection", RefreshConversationSelectionHandler) app.Get("/loadUsageKPI", LoadUsageKPIHandler) app.Get("/loadSettings", LoadSettingsHandler) - app.Post("/updateLLMPositionBatch", updateLLMPositionBatch) + app.Get("/refreshConversationSelection", RefreshConversationSelectionHandler) + + // Conversation routes app.Get("/createConversation", CreateConversationHandler) app.Get("/deleteConversation", DeleteConversationHandler) app.Get("/selectConversation", SelectConversationHandler) app.Post("/updateConversationPositionBatch", updateConversationPositionBatch) + app.Post("/archiveDefaultConversation", ArchiveDefaultConversationHandler) // Authentication app.Get("/signin", handleUiSignIn) @@ -119,8 +120,9 @@ func main() { app.Get("/callbackSignup", handleCallbackSignup) // LLM - app.Get("deleteLLM", deleteLLM) + app.Get("/deleteLLM", deleteLLM) app.Post("/createLLM", createLLM) + app.Post("/updateLLMPositionBatch", updateLLMPositionBatch) // Add static files app.Static("/", "./static") @@ -170,310 +172,73 @@ func main() { } func addKeys(c *fiber.Ctx) error { - openaiKey := c.FormValue("openai_key") - anthropicKey := c.FormValue("anthropic_key") - mistralKey := c.FormValue("mistral_key") - groqKey := c.FormValue("groq_key") - gooseaiKey := c.FormValue("goose_key") - googleKey := c.FormValue("google_key") - var Exists bool - - // Handle OpenAI key - if openaiKey != "" { - if !TestOpenaiKey(openaiKey) { - return c.SendString("Invalid OpenAI API Key\n") - } - - // Check if the company key already exists - err := edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).QuerySingle(edgeCtx, ` - select exists ( - select global currentUser.setting.keys - filter .company.name = "openai" - ); - `, &Exists) - if err != nil { - fmt.Println("Error checking if OpenAI key exists") - panic(err) - } - - if Exists { - err = edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).Execute(edgeCtx, ` - UPDATE Key filter .company.name = $0 AND .key = $1 - SET { - key := $1, - } - `, "openai", openaiKey) - if err != nil { - fmt.Println("Error updating OpenAI key") - panic(err) - } - } else { - err = edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).Execute(edgeCtx, ` - WITH - c := (SELECT Company FILTER .name = "openai" LIMIT 1) - UPDATE global currentUser.setting - SET { - keys += ( - INSERT Key { - company := c, - key := $0, - name := "OpenAI API Key", - } - ) - }`, openaiKey) - if err != nil { - fmt.Println("Error adding OpenAI key") - panic(err) - } - } + keys := map[string]string{ + "openai": c.FormValue("openai_key"), + "anthropic": c.FormValue("anthropic_key"), + "mistral": c.FormValue("mistral_key"), + "groq": c.FormValue("groq_key"), + "gooseai": c.FormValue("goose_key"), + "google": c.FormValue("google_key"), + "perplexity": c.FormValue("perplexity_key"), } - // Handle Anthropic key - if anthropicKey != "" { - if !TestAnthropicKey(anthropicKey) { - return c.SendString("Invalid Anthropic API Key\n") - } - - // Check if the company key already exists - err := edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).QuerySingle(edgeCtx, ` - select exists ( - select global currentUser.setting.keys - filter .company.name = "anthropic" - ); - `, &Exists) - if err != nil { - fmt.Println("Error checking if Anthropic key exists") - panic(err) - } - - if Exists { - err = edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).Execute(edgeCtx, ` - UPDATE Key filter .company.name = "anthropic" AND .key = $0 - SET { - key := $0, - } - `, anthropicKey) - if err != nil { - fmt.Println("Error updating Anthropic key") - panic(err) - } - } else { - err = edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).Execute(edgeCtx, ` - WITH - c := (SELECT Company FILTER .name = "anthropic" LIMIT 1) - UPDATE global currentUser.setting - SET { - keys += ( - INSERT Key { - company := c, - key := $0, - name := "Anthropic API Key", - } - ) - }`, anthropicKey) - if err != nil { - fmt.Println("Error adding Anthropic key") - panic(err) - } - } + testFunctions := map[string]func(string) bool{ + "openai": TestOpenaiKey, + "anthropic": TestAnthropicKey, + "mistral": TestMistralKey, + "groq": TestGroqKey, + "gooseai": TestGooseaiKey, + "google": TestGoogleKey, + "perplexity": TestPerplexityKey, } - // Handle Mistral key - if mistralKey != "" { - if !TestMistralKey(mistralKey) { - return c.SendString("Invalid Mistral API Key\n") - } - - // Check if the company key already exists - err := edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).QuerySingle(edgeCtx, ` - select exists ( - select global currentUser.setting.keys - filter .company.name = "mistral" - ); - `, &Exists) - if err != nil { - fmt.Println("Error checking if Mistral key exists") - panic(err) - } - - if Exists { - err = edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).Execute(edgeCtx, ` - UPDATE Key filter .company.name = "mistral" AND .key = $0 - SET { - key := $0, + for company, key := range keys { + if key != "" { + if !testFunctions[company](key) { + return c.SendString(fmt.Sprintf("Invalid %s API Key\n", company)) } - `, mistralKey) + + var Exists bool + err := edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).QuerySingle(edgeCtx, ` + select exists ( + select global currentUser.setting.keys + filter .company.name = $0 + ); + `, &Exists, company) if err != nil { - fmt.Println("Error updating Mistral key") + fmt.Println("Error checking if key exists") panic(err) } - } else { - err = edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).Execute(edgeCtx, ` - WITH - c := (SELECT Company FILTER .name = "mistral" LIMIT 1) - UPDATE global currentUser.setting - SET { - keys += ( - INSERT Key { - company := c, - key := $0, - name := "Mistral API Key", - } - ) - }`, mistralKey) - if err != nil { - fmt.Println("Error adding Mistral key") - panic(err) - } - } - } - // Handle Groq key - if groqKey != "" { - if !TestGroqKey(groqKey) { - return c.SendString("Invalid Groq API Key\n") - } - - // Check if the company key already exists - err := edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).QuerySingle(edgeCtx, ` - select exists ( - select global currentUser.setting.keys - filter .company.name = "groq" - ); - `, &Exists) - if err != nil { - fmt.Println("Error checking if Groq key exists") - panic(err) - } - - if Exists { - err = edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).Execute(edgeCtx, ` - UPDATE Key filter .company.name = "groq" AND .key = $0 - SET { - key := $0, - } - `, groqKey) - if err != nil { - fmt.Println("Error updating Groq key") - panic(err) - } - } else { - err = edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).Execute(edgeCtx, ` - WITH - c := (SELECT Company FILTER .name = "groq" LIMIT 1) - UPDATE global currentUser.setting - SET { - keys += ( - INSERT Key { - company := c, - key := $0, - name := "Groq API Key", - } - ) - }`, groqKey) - if err != nil { - fmt.Println("Error adding Groq key") - panic(err) - } - } - } - - // Handle Gooseai key - if gooseaiKey != "" { - if !TestGooseaiKey(gooseaiKey) { - return c.SendString("Invalid Gooseai API Key\n") - } - - // Check if the company key already exists - err := edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).QuerySingle(edgeCtx, ` - select exists ( - select global currentUser.setting.keys - filter .company.name = "gooseai" - ); - `, &Exists) - if err != nil { - fmt.Println("Error checking if Gooseai key exists") - panic(err) - } - - if Exists { - err = edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).Execute(edgeCtx, ` - UPDATE Key filter .company.name = "gooseai" AND .key = $0 - SET { - key := $0, - } - `, gooseaiKey) - if err != nil { - fmt.Println("Error updating Gooseai key") - panic(err) - } - } else { - err = edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).Execute(edgeCtx, ` - WITH - c := (SELECT Company FILTER .name = "gooseai" LIMIT 1) - UPDATE global currentUser.setting - SET { - keys += ( - INSERT Key { - company := c, - key := $0, - name := "Gooseai API Key", - } - ) - }`, gooseaiKey) - if err != nil { - fmt.Println("Error adding Gooseai key") - panic(err) - } - } - } - - // Handle Google key - if googleKey != "" { - if !TestGoogleKey(googleKey) { - return c.SendString("Invalid Google API Key\n") - } - - // Check if the company key already exists - err := edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).QuerySingle(edgeCtx, ` - select exists ( - select global currentUser.setting.keys - filter .company.name = "google" - ); - `, &Exists) - if err != nil { - fmt.Println("Error checking if Google key exists") - panic(err) - } - - if Exists { - err = edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).Execute(edgeCtx, ` - UPDATE Key filter .company.name = "google" AND .key = $0 - SET { - key := $0, - } - `, googleKey) - if err != nil { - fmt.Println("Error updating Google key") - panic(err) - } - } else { - err = edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).Execute(edgeCtx, ` - WITH - c := (SELECT Company FILTER .name = "google" LIMIT 1) - UPDATE global currentUser.setting - SET { - keys += ( - INSERT Key { - company := c, - key := $0, - name := "Google API Key", - } - ) - }`, googleKey) - if err != nil { - fmt.Println("Error adding Google key") - panic(err) + if Exists { + err = edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).Execute(edgeCtx, ` + UPDATE Key filter .company.name = $0 AND .key = $1 + SET { + key := $1, + } + `, company, key) + if err != nil { + fmt.Println("Error updating key") + panic(err) + } + } else { + err = edgeGlobalClient.WithGlobals(map[string]interface{}{"ext::auth::client_token": c.Cookies("jade-edgedb-auth-token")}).Execute(edgeCtx, ` + WITH + c := (SELECT Company FILTER .name = $0 LIMIT 1) + UPDATE global currentUser.setting + SET { + keys += ( + INSERT Key { + company := c, + key := $1, + name := $2 ++ " API Key", + } + ) + }`, company, key, company) + if err != nil { + fmt.Println("Error adding key") + panic(err) + } } } } diff --git a/static/icons/image.png b/static/icons/image.png new file mode 100644 index 0000000000000000000000000000000000000000..252ffb8f91770ab7e1064f25d51b89f33be921ad GIT binary patch literal 31142 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ɪC4ET5 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 A0{{R3 literal 0 HcmV?d00001 diff --git a/static/icons/perplexity2.png b/static/icons/perplexity2.png new file mode 100644 index 0000000000000000000000000000000000000000..a34538e974bf6cb704421ec6d41e363dcbec3f0a GIT binary patch literal 41293 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 ZEn{zFWn=Y286E%t002ovPDHLkV1nX(6aoMM literal 0 HcmV?d00001 diff --git a/views/partials/chat-input.html b/views/partials/chat-input.html index d8ff82a..fd61775 100644 --- a/views/partials/chat-input.html +++ b/views/partials/chat-input.html @@ -86,7 +86,9 @@ textarea.addEventListener('keydown', handleTextareaKeydown); function toggleSendButton() { - document.getElementById('chat-input-send-btn').disabled = textarea.value.trim().length === 0 || document.getElementsByClassName('selected icon-llm').length === 0; + // check if generate-multiple-messages exists + var generateMultipleMessages = document.getElementById('generate-multiple-messages'); + document.getElementById('chat-input-send-btn').disabled = textarea.value.trim().length === 0 || document.getElementsByClassName('selected icon-llm').length === 0 || generateMultipleMessages !== null; } function clearTextArea() { diff --git a/views/partials/explain-llm-conv-chat.html b/views/partials/explain-llm-conv-chat.html index ab96567..3e4e8f6 100644 --- a/views/partials/explain-llm-conv-chat.html +++ b/views/partials/explain-llm-conv-chat.html @@ -1,4 +1,4 @@ -

JADE: The First Multi-Model Chatbot

+

JADE: The First Multi-Model Chatbot

JADE was built with simplicity in mind. The goal is to have a minimalist chatbot that supports all models without unnecessary features like importing files or images. This focus on simplicity allows us to improve how we use AI chatbots in other ways.

@@ -78,6 +78,7 @@
  • llama3-8b-8192
  • llama3-70b-8192
  • gemma-7b-it
  • +
  • mixtral-8x7b-32768
  • Google: @@ -88,4 +89,7 @@
  • Inference Endpoints (More custom to come)
  • - \ No newline at end of file + + +

    You can contact me at adrien.bouvais.pro@gmail.com if you want to add a new provider or if you have any questions. +

    \ No newline at end of file diff --git a/views/partials/message-bot.html b/views/partials/message-bot.html index c3a374a..aae867e 100644 --- a/views/partials/message-bot.html +++ b/views/partials/message-bot.html @@ -73,7 +73,7 @@
    - +

    Waiting... diff --git a/views/partials/popover-models.html b/views/partials/popover-models.html index 91a8907..5bebde5 100644 --- a/views/partials/popover-models.html +++ b/views/partials/popover-models.html @@ -28,11 +28,11 @@

    -