From dd596a0cf2be53e9c2282bad5a45021a5b406cc4 Mon Sep 17 00:00:00 2001
From: Peter Goldstein <peter.goldstein@hearst.com>
Date: Fri, 13 Dec 2024 15:10:46 -0500
Subject: [PATCH] Add Gemini Flash 2.0 Experimental (#1563)

---
 .changeset/kind-bananas-shave.md            | 5 +++++
 packages/llamaindex/src/llm/gemini/base.ts  | 2 ++
 packages/llamaindex/src/llm/gemini/types.ts | 1 +
 3 files changed, 8 insertions(+)
 create mode 100644 .changeset/kind-bananas-shave.md

diff --git a/.changeset/kind-bananas-shave.md b/.changeset/kind-bananas-shave.md
new file mode 100644
index 000000000..e615aaa1e
--- /dev/null
+++ b/.changeset/kind-bananas-shave.md
@@ -0,0 +1,5 @@
+---
+"llamaindex": patch
+---
+
+Add Gemini 2.0 Flash Experimental
diff --git a/packages/llamaindex/src/llm/gemini/base.ts b/packages/llamaindex/src/llm/gemini/base.ts
index 0046e11c4..50937887f 100644
--- a/packages/llamaindex/src/llm/gemini/base.ts
+++ b/packages/llamaindex/src/llm/gemini/base.ts
@@ -53,6 +53,7 @@ export const GEMINI_MODEL_INFO_MAP: Record<GEMINI_MODEL, GeminiModelInfo> = {
   [GEMINI_MODEL.GEMINI_PRO_1_5_FLASH]: { contextWindow: 10 ** 6 },
   [GEMINI_MODEL.GEMINI_PRO_1_5_LATEST]: { contextWindow: 2 * 10 ** 6 },
   [GEMINI_MODEL.GEMINI_PRO_1_5_FLASH_LATEST]: { contextWindow: 10 ** 6 },
+  [GEMINI_MODEL.GEMINI_2_0_FLASH_EXPERIMENTAL]: { contextWindow: 10 ** 6 },
 };
 
 const SUPPORT_TOOL_CALL_MODELS: GEMINI_MODEL[] = [
@@ -66,6 +67,7 @@ const SUPPORT_TOOL_CALL_MODELS: GEMINI_MODEL[] = [
   GEMINI_MODEL.GEMINI_PRO_FLASH_LATEST,
   GEMINI_MODEL.GEMINI_PRO_1_5_LATEST,
   GEMINI_MODEL.GEMINI_PRO_1_5_FLASH_LATEST,
+  GEMINI_MODEL.GEMINI_2_0_FLASH_EXPERIMENTAL,
 ];
 
 const DEFAULT_GEMINI_PARAMS = {
diff --git a/packages/llamaindex/src/llm/gemini/types.ts b/packages/llamaindex/src/llm/gemini/types.ts
index fa5c83952..35a7074c4 100644
--- a/packages/llamaindex/src/llm/gemini/types.ts
+++ b/packages/llamaindex/src/llm/gemini/types.ts
@@ -64,6 +64,7 @@ export enum GEMINI_MODEL {
   // Note: should be switched to -latest suffix when google supports it
   GEMINI_PRO_1_5_LATEST = "gemini-1.5-pro-002",
   GEMINI_PRO_1_5_FLASH_LATEST = "gemini-1.5-flash-002",
+  GEMINI_2_0_FLASH_EXPERIMENTAL = "gemini-2.0-flash-exp",
 }
 
 export interface GeminiModelInfo {
-- 
GitLab