feat: enable native tool calls for Vertex Gemini models (#9678)

Add supportsNativeTools: true to all Gemini-based models in the Vertex
provider. The VertexHandler extends GeminiHandler which already has full
native tool handling logic implemented.

Models updated:
- gemini-3-pro-preview
- gemini-2.5-flash-preview-05-20:thinking
- gemini-2.5-flash-preview-05-20
- gemini-2.5-flash
- gemini-2.5-flash-preview-04-17:thinking
- gemini-2.5-flash-preview-04-17
- gemini-2.5-pro-preview-03-25
- gemini-2.5-pro-preview-05-06
- gemini-2.5-pro-preview-06-05
- gemini-2.5-pro
- gemini-2.5-pro-exp-03-25
- gemini-2.0-pro-exp-02-05
- gemini-2.0-flash-001
- gemini-2.0-flash-lite-001
- gemini-2.0-flash-thinking-exp-01-21
- gemini-1.5-flash-002
- gemini-1.5-pro-002
- gemini-2.5-flash-lite-preview-06-17
This commit is contained in:
Daniel 2025-11-28 13:48:55 -05:00 committed by GitHub
parent 59ee1c9d04
commit 127ecf6ddd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -10,6 +10,7 @@ export const vertexModels = {
maxTokens: 65_536,
contextWindow: 1_048_576,
supportsImages: true,
supportsNativeTools: true,
supportsPromptCache: true,
supportsReasoningEffort: ["low", "high"],
reasoningEffort: "low",
@ -34,6 +35,7 @@ export const vertexModels = {
maxTokens: 65_535,
contextWindow: 1_048_576,
supportsImages: true,
supportsNativeTools: true,
supportsPromptCache: true,
inputPrice: 0.15,
outputPrice: 3.5,
@ -45,6 +47,7 @@ export const vertexModels = {
maxTokens: 65_535,
contextWindow: 1_048_576,
supportsImages: true,
supportsNativeTools: true,
supportsPromptCache: true,
inputPrice: 0.15,
outputPrice: 0.6,
@ -53,6 +56,7 @@ export const vertexModels = {
maxTokens: 64_000,
contextWindow: 1_048_576,
supportsImages: true,
supportsNativeTools: true,
supportsPromptCache: true,
inputPrice: 0.3,
outputPrice: 2.5,
@ -65,6 +69,7 @@ export const vertexModels = {
maxTokens: 65_535,
contextWindow: 1_048_576,
supportsImages: true,
supportsNativeTools: true,
supportsPromptCache: false,
inputPrice: 0.15,
outputPrice: 3.5,
@ -76,6 +81,7 @@ export const vertexModels = {
maxTokens: 65_535,
contextWindow: 1_048_576,
supportsImages: true,
supportsNativeTools: true,
supportsPromptCache: false,
inputPrice: 0.15,
outputPrice: 0.6,
@ -84,6 +90,7 @@ export const vertexModels = {
maxTokens: 65_535,
contextWindow: 1_048_576,
supportsImages: true,
supportsNativeTools: true,
supportsPromptCache: true,
inputPrice: 2.5,
outputPrice: 15,
@ -92,6 +99,7 @@ export const vertexModels = {
maxTokens: 65_535,
contextWindow: 1_048_576,
supportsImages: true,
supportsNativeTools: true,
supportsPromptCache: true,
inputPrice: 2.5,
outputPrice: 15,
@ -100,6 +108,7 @@ export const vertexModels = {
maxTokens: 65_535,
contextWindow: 1_048_576,
supportsImages: true,
supportsNativeTools: true,
supportsPromptCache: true,
inputPrice: 2.5,
outputPrice: 15,
@ -110,6 +119,7 @@ export const vertexModels = {
maxTokens: 64_000,
contextWindow: 1_048_576,
supportsImages: true,
supportsNativeTools: true,
supportsPromptCache: true,
inputPrice: 2.5,
outputPrice: 15,
@ -135,6 +145,7 @@ export const vertexModels = {
maxTokens: 65_535,
contextWindow: 1_048_576,
supportsImages: true,
supportsNativeTools: true,
supportsPromptCache: false,
inputPrice: 0,
outputPrice: 0,
@ -143,6 +154,7 @@ export const vertexModels = {
maxTokens: 8192,
contextWindow: 2_097_152,
supportsImages: true,
supportsNativeTools: true,
supportsPromptCache: false,
inputPrice: 0,
outputPrice: 0,
@ -151,6 +163,7 @@ export const vertexModels = {
maxTokens: 8192,
contextWindow: 1_048_576,
supportsImages: true,
supportsNativeTools: true,
supportsPromptCache: true,
inputPrice: 0.15,
outputPrice: 0.6,
@ -159,6 +172,7 @@ export const vertexModels = {
maxTokens: 8192,
contextWindow: 1_048_576,
supportsImages: true,
supportsNativeTools: true,
supportsPromptCache: false,
inputPrice: 0.075,
outputPrice: 0.3,
@ -167,6 +181,7 @@ export const vertexModels = {
maxTokens: 8192,
contextWindow: 32_768,
supportsImages: true,
supportsNativeTools: true,
supportsPromptCache: false,
inputPrice: 0,
outputPrice: 0,
@ -175,6 +190,7 @@ export const vertexModels = {
maxTokens: 8192,
contextWindow: 1_048_576,
supportsImages: true,
supportsNativeTools: true,
supportsPromptCache: true,
inputPrice: 0.075,
outputPrice: 0.3,
@ -183,6 +199,7 @@ export const vertexModels = {
maxTokens: 8192,
contextWindow: 2_097_152,
supportsImages: true,
supportsNativeTools: true,
supportsPromptCache: false,
inputPrice: 1.25,
outputPrice: 5,
@ -328,6 +345,7 @@ export const vertexModels = {
maxTokens: 64_000,
contextWindow: 1_048_576,
supportsImages: true,
supportsNativeTools: true,
supportsPromptCache: true,
inputPrice: 0.1,
outputPrice: 0.4,