Переглянути джерело

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
Daniel 1 місяць тому
батько
коміт
127ecf6ddd
1 змінених файлів з 18 додано та 0 видалено
  1. 18 0
      packages/types/src/providers/vertex.ts

+ 18 - 0
packages/types/src/providers/vertex.ts

@@ -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,