From 26e2d8cc3bab73ad8a0020305fe5f545f17ff3ad Mon Sep 17 00:00:00 2001
From: Timothy Carambat <rambat1010@gmail.com>
Date: Wed, 20 Nov 2024 09:52:33 -0800
Subject: [PATCH] Add more expiermental models from Gemini (#2663)

---
 .../src/components/LLMSelection/GeminiLLMOptions/index.jsx    | 2 ++
 frontend/src/hooks/useGetProvidersModels.js                   | 2 ++
 server/utils/AiProviders/gemini/index.js                      | 4 ++++
 server/utils/AiProviders/modelMap.js                          | 2 ++
 server/utils/helpers/updateENV.js                             | 2 ++
 5 files changed, 12 insertions(+)

diff --git a/frontend/src/components/LLMSelection/GeminiLLMOptions/index.jsx b/frontend/src/components/LLMSelection/GeminiLLMOptions/index.jsx
index f3635977a..528d01049 100644
--- a/frontend/src/components/LLMSelection/GeminiLLMOptions/index.jsx
+++ b/frontend/src/components/LLMSelection/GeminiLLMOptions/index.jsx
@@ -50,6 +50,8 @@ export default function GeminiLLMOptions({ settings }) {
                     "gemini-1.5-pro-exp-0827",
                     "gemini-1.5-flash-exp-0827",
                     "gemini-1.5-flash-8b-exp-0827",
+                    "gemini-exp-1114",
+                    "learnlm-1.5-pro-experimental",
                   ].map((model) => {
                     return (
                       <option key={model} value={model}>
diff --git a/frontend/src/hooks/useGetProvidersModels.js b/frontend/src/hooks/useGetProvidersModels.js
index 645189d52..3e3e797e7 100644
--- a/frontend/src/hooks/useGetProvidersModels.js
+++ b/frontend/src/hooks/useGetProvidersModels.js
@@ -20,6 +20,8 @@ const PROVIDER_DEFAULT_MODELS = {
     "gemini-1.5-pro-exp-0827",
     "gemini-1.5-flash-exp-0827",
     "gemini-1.5-flash-8b-exp-0827",
+    "gemini-exp-1114",
+    "learnlm-1.5-pro-experimental",
   ],
   anthropic: [
     "claude-instant-1.2",
diff --git a/server/utils/AiProviders/gemini/index.js b/server/utils/AiProviders/gemini/index.js
index a35adab84..aeb8b432f 100644
--- a/server/utils/AiProviders/gemini/index.js
+++ b/server/utils/AiProviders/gemini/index.js
@@ -26,6 +26,8 @@ class GeminiLLM {
           "gemini-1.5-pro-exp-0827",
           "gemini-1.5-flash-exp-0827",
           "gemini-1.5-flash-8b-exp-0827",
+          "gemini-exp-1114",
+          "learnlm-1.5-pro-experimental",
         ].includes(this.model)
           ? "v1beta"
           : "v1",
@@ -111,6 +113,8 @@ class GeminiLLM {
       "gemini-1.5-pro-exp-0827",
       "gemini-1.5-flash-exp-0827",
       "gemini-1.5-flash-8b-exp-0827",
+      "gemini-exp-1114",
+      "learnlm-1.5-pro-experimental",
     ];
     return validModels.includes(modelName);
   }
diff --git a/server/utils/AiProviders/modelMap.js b/server/utils/AiProviders/modelMap.js
index d96f02928..34dc20b92 100644
--- a/server/utils/AiProviders/modelMap.js
+++ b/server/utils/AiProviders/modelMap.js
@@ -34,6 +34,8 @@ const MODEL_MAP = {
     "gemini-1.5-pro-exp-0827": 2_097_152,
     "gemini-1.5-flash-exp-0827": 1_048_576,
     "gemini-1.5-flash-8b-exp-0827": 1_048_576,
+    "gemini-exp-1114": 32_767,
+    "learnlm-1.5-pro-experimental": 32_767,
   },
   groq: {
     "gemma2-9b-it": 8192,
diff --git a/server/utils/helpers/updateENV.js b/server/utils/helpers/updateENV.js
index 07100fae5..917969f41 100644
--- a/server/utils/helpers/updateENV.js
+++ b/server/utils/helpers/updateENV.js
@@ -701,6 +701,8 @@ function validGeminiModel(input = "") {
     "gemini-1.5-pro-exp-0827",
     "gemini-1.5-flash-exp-0827",
     "gemini-1.5-flash-8b-exp-0827",
+    "gemini-exp-1114",
+    "learnlm-1.5-pro-experimental",
   ];
   return validModels.includes(input)
     ? null
-- 
GitLab