diff --git a/frontend/src/components/LLMSelection/GeminiLLMOptions/index.jsx b/frontend/src/components/LLMSelection/GeminiLLMOptions/index.jsx index d2846704d..87e058827 100644 --- a/frontend/src/components/LLMSelection/GeminiLLMOptions/index.jsx +++ b/frontend/src/components/LLMSelection/GeminiLLMOptions/index.jsx @@ -30,7 +30,11 @@ export default function GeminiLLMOptions({ settings }) { required={true} className="bg-zinc-900 border-gray-500 text-white text-sm rounded-lg block w-full p-2.5" > - {["gemini-pro", "gemini-1.5-pro-latest"].map((model) => { + {[ + "gemini-pro", + "gemini-1.5-pro-latest", + "gemini-1.5-flash-latest", + ].map((model) => { return ( <option key={model} value={model}> {model} diff --git a/frontend/src/hooks/useGetProvidersModels.js b/frontend/src/hooks/useGetProvidersModels.js index 29075c557..6687f0a7b 100644 --- a/frontend/src/hooks/useGetProvidersModels.js +++ b/frontend/src/hooks/useGetProvidersModels.js @@ -10,7 +10,7 @@ export const DISABLED_PROVIDERS = [ ]; const PROVIDER_DEFAULT_MODELS = { openai: [], - gemini: ["gemini-pro", "gemini-1.5-pro-latest"], + gemini: ["gemini-pro", "gemini-1.5-pro-latest", "gemini-1.5-flash-latest"], anthropic: [ "claude-instant-1.2", "claude-2.0", diff --git a/server/utils/AiProviders/gemini/index.js b/server/utils/AiProviders/gemini/index.js index 0c2cc7697..30c9ffa35 100644 --- a/server/utils/AiProviders/gemini/index.js +++ b/server/utils/AiProviders/gemini/index.js @@ -17,8 +17,12 @@ class GeminiLLM { this.gemini = genAI.getGenerativeModel( { model: this.model }, { - // Gemini-1.5-pro is only available on the v1beta API. - apiVersion: this.model === "gemini-1.5-pro-latest" ? "v1beta" : "v1", + // Gemini-1.5-pro and Gemini-1.5-flash are only available on the v1beta API. + apiVersion: + this.model === "gemini-1.5-pro-latest" || + this.model === "gemini-1.5-flash-latest" + ? "v1beta" + : "v1", } ); this.limits = { @@ -95,7 +99,11 @@ class GeminiLLM { } isValidChatCompletionModel(modelName = "") { - const validModels = ["gemini-pro", "gemini-1.5-pro-latest"]; + const validModels = [ + "gemini-pro", + "gemini-1.5-pro-latest", + "gemini-1.5-flash-latest", + ]; return validModels.includes(modelName); } diff --git a/server/utils/helpers/updateENV.js b/server/utils/helpers/updateENV.js index c8811c9de..c95ccd57d 100644 --- a/server/utils/helpers/updateENV.js +++ b/server/utils/helpers/updateENV.js @@ -526,7 +526,11 @@ function supportedTranscriptionProvider(input = "") { } function validGeminiModel(input = "") { - const validModels = ["gemini-pro", "gemini-1.5-pro-latest"]; + const validModels = [ + "gemini-pro", + "gemini-1.5-pro-latest", + "gemini-1.5-flash-latest", + ]; return validModels.includes(input) ? null : `Invalid Model type. Must be one of ${validModels.join(", ")}.`;