From e38e474f86b50a6f0aed28e772d578de415ed5ea Mon Sep 17 00:00:00 2001
From: Peter Goldstein <peter.goldstein@hearst.com>
Date: Thu, 6 Feb 2025 03:41:20 -0500
Subject: [PATCH] Add Gemini 2.0 models (#1625)

---
 .changeset/little-onions-know.md       | 5 +++++
 packages/providers/google/src/base.ts  | 4 ++++
 packages/providers/google/src/types.ts | 3 +++
 3 files changed, 12 insertions(+)
 create mode 100644 .changeset/little-onions-know.md

diff --git a/.changeset/little-onions-know.md b/.changeset/little-onions-know.md
new file mode 100644
index 000000000..eaad25937
--- /dev/null
+++ b/.changeset/little-onions-know.md
@@ -0,0 +1,5 @@
+---
+"@llamaindex/google": patch
+---
+
+Add Gemini 2.0 models
diff --git a/packages/providers/google/src/base.ts b/packages/providers/google/src/base.ts
index 50937887f..8ffd47186 100644
--- a/packages/providers/google/src/base.ts
+++ b/packages/providers/google/src/base.ts
@@ -54,6 +54,9 @@ export const GEMINI_MODEL_INFO_MAP: Record<GEMINI_MODEL, GeminiModelInfo> = {
   [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 },
+  [GEMINI_MODEL.GEMINI_2_0_FLASH]: { contextWindow: 10 ** 6 },
+  [GEMINI_MODEL.GEMINI_2_0_FLASH_LITE_PREVIEW]: { contextWindow: 10 ** 6 },
+  [GEMINI_MODEL.GEMINI_2_0_FLASH_THINKING_EXP]: { contextWindow: 32768 },
 };
 
 const SUPPORT_TOOL_CALL_MODELS: GEMINI_MODEL[] = [
@@ -68,6 +71,7 @@ const SUPPORT_TOOL_CALL_MODELS: GEMINI_MODEL[] = [
   GEMINI_MODEL.GEMINI_PRO_1_5_LATEST,
   GEMINI_MODEL.GEMINI_PRO_1_5_FLASH_LATEST,
   GEMINI_MODEL.GEMINI_2_0_FLASH_EXPERIMENTAL,
+  GEMINI_MODEL.GEMINI_2_0_FLASH,
 ];
 
 const DEFAULT_GEMINI_PARAMS = {
diff --git a/packages/providers/google/src/types.ts b/packages/providers/google/src/types.ts
index 35a7074c4..6d90ec6d1 100644
--- a/packages/providers/google/src/types.ts
+++ b/packages/providers/google/src/types.ts
@@ -65,6 +65,9 @@ export enum GEMINI_MODEL {
   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",
+  GEMINI_2_0_FLASH = "gemini-2.0-flash-001",
+  GEMINI_2_0_FLASH_LITE_PREVIEW = "gemini-2.0-flash-lite-preview-02-05",
+  GEMINI_2_0_FLASH_THINKING_EXP = "gemini-2.0-flash-thinking-exp-01-21",
 }
 
 export interface GeminiModelInfo {
-- 
GitLab