From 246152c0241473c083c3b0da71714c8304c414b3 Mon Sep 17 00:00:00 2001
From: timothycarambat <rambat1010@gmail.com>
Date: Thu, 21 Nov 2024 11:02:43 -0800
Subject: [PATCH] Add gemini-exp-1121 resolves #2657

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

diff --git a/frontend/src/components/LLMSelection/GeminiLLMOptions/index.jsx b/frontend/src/components/LLMSelection/GeminiLLMOptions/index.jsx
index 528d01049..059779be9 100644
--- a/frontend/src/components/LLMSelection/GeminiLLMOptions/index.jsx
+++ b/frontend/src/components/LLMSelection/GeminiLLMOptions/index.jsx
@@ -51,6 +51,7 @@ export default function GeminiLLMOptions({ settings }) {
                     "gemini-1.5-flash-exp-0827",
                     "gemini-1.5-flash-8b-exp-0827",
                     "gemini-exp-1114",
+                    "gemini-exp-1121",
                     "learnlm-1.5-pro-experimental",
                   ].map((model) => {
                     return (
diff --git a/frontend/src/hooks/useGetProvidersModels.js b/frontend/src/hooks/useGetProvidersModels.js
index 3e3e797e7..57cf65018 100644
--- a/frontend/src/hooks/useGetProvidersModels.js
+++ b/frontend/src/hooks/useGetProvidersModels.js
@@ -21,6 +21,7 @@ const PROVIDER_DEFAULT_MODELS = {
     "gemini-1.5-flash-exp-0827",
     "gemini-1.5-flash-8b-exp-0827",
     "gemini-exp-1114",
+    "gemini-exp-1121",
     "learnlm-1.5-pro-experimental",
   ],
   anthropic: [
diff --git a/server/utils/AiProviders/gemini/index.js b/server/utils/AiProviders/gemini/index.js
index aeb8b432f..ef0b63311 100644
--- a/server/utils/AiProviders/gemini/index.js
+++ b/server/utils/AiProviders/gemini/index.js
@@ -114,6 +114,7 @@ class GeminiLLM {
       "gemini-1.5-flash-exp-0827",
       "gemini-1.5-flash-8b-exp-0827",
       "gemini-exp-1114",
+      "gemini-exp-1121",
       "learnlm-1.5-pro-experimental",
     ];
     return validModels.includes(modelName);
diff --git a/server/utils/AiProviders/modelMap.js b/server/utils/AiProviders/modelMap.js
index 34dc20b92..f9bf00672 100644
--- a/server/utils/AiProviders/modelMap.js
+++ b/server/utils/AiProviders/modelMap.js
@@ -35,6 +35,7 @@ const MODEL_MAP = {
     "gemini-1.5-flash-exp-0827": 1_048_576,
     "gemini-1.5-flash-8b-exp-0827": 1_048_576,
     "gemini-exp-1114": 32_767,
+    "gemini-exp-1121": 32_767,
     "learnlm-1.5-pro-experimental": 32_767,
   },
   groq: {
diff --git a/server/utils/helpers/updateENV.js b/server/utils/helpers/updateENV.js
index 917969f41..ede372427 100644
--- a/server/utils/helpers/updateENV.js
+++ b/server/utils/helpers/updateENV.js
@@ -702,6 +702,7 @@ function validGeminiModel(input = "") {
     "gemini-1.5-flash-exp-0827",
     "gemini-1.5-flash-8b-exp-0827",
     "gemini-exp-1114",
+    "gemini-exp-1121",
     "learnlm-1.5-pro-experimental",
   ];
   return validModels.includes(input)