mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-21 05:02:14 +00:00
Fix google-vertex build
This commit is contained in:
parent
6467e70995
commit
3b61d83d29
3 changed files with 205 additions and 205 deletions
|
|
@ -1337,6 +1337,195 @@ export const MODELS = {
|
||||||
maxTokens: 65535,
|
maxTokens: 65535,
|
||||||
} satisfies Model<"google-gemini-cli">,
|
} satisfies Model<"google-gemini-cli">,
|
||||||
},
|
},
|
||||||
|
"google-vertex": {
|
||||||
|
"gemini-1.5-flash": {
|
||||||
|
id: "gemini-1.5-flash",
|
||||||
|
name: "Gemini 1.5 Flash (Vertex)",
|
||||||
|
api: "google-vertex",
|
||||||
|
provider: "google-vertex",
|
||||||
|
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
||||||
|
reasoning: false,
|
||||||
|
input: ["text", "image"],
|
||||||
|
cost: {
|
||||||
|
input: 0.075,
|
||||||
|
output: 0.3,
|
||||||
|
cacheRead: 0.01875,
|
||||||
|
cacheWrite: 0,
|
||||||
|
},
|
||||||
|
contextWindow: 1000000,
|
||||||
|
maxTokens: 8192,
|
||||||
|
} satisfies Model<"google-vertex">,
|
||||||
|
"gemini-1.5-flash-8b": {
|
||||||
|
id: "gemini-1.5-flash-8b",
|
||||||
|
name: "Gemini 1.5 Flash-8B (Vertex)",
|
||||||
|
api: "google-vertex",
|
||||||
|
provider: "google-vertex",
|
||||||
|
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
||||||
|
reasoning: false,
|
||||||
|
input: ["text", "image"],
|
||||||
|
cost: {
|
||||||
|
input: 0.0375,
|
||||||
|
output: 0.15,
|
||||||
|
cacheRead: 0.01,
|
||||||
|
cacheWrite: 0,
|
||||||
|
},
|
||||||
|
contextWindow: 1000000,
|
||||||
|
maxTokens: 8192,
|
||||||
|
} satisfies Model<"google-vertex">,
|
||||||
|
"gemini-1.5-pro": {
|
||||||
|
id: "gemini-1.5-pro",
|
||||||
|
name: "Gemini 1.5 Pro (Vertex)",
|
||||||
|
api: "google-vertex",
|
||||||
|
provider: "google-vertex",
|
||||||
|
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
||||||
|
reasoning: false,
|
||||||
|
input: ["text", "image"],
|
||||||
|
cost: {
|
||||||
|
input: 1.25,
|
||||||
|
output: 5,
|
||||||
|
cacheRead: 0.3125,
|
||||||
|
cacheWrite: 0,
|
||||||
|
},
|
||||||
|
contextWindow: 1000000,
|
||||||
|
maxTokens: 8192,
|
||||||
|
} satisfies Model<"google-vertex">,
|
||||||
|
"gemini-2.0-flash": {
|
||||||
|
id: "gemini-2.0-flash",
|
||||||
|
name: "Gemini 2.0 Flash (Vertex)",
|
||||||
|
api: "google-vertex",
|
||||||
|
provider: "google-vertex",
|
||||||
|
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
||||||
|
reasoning: false,
|
||||||
|
input: ["text", "image"],
|
||||||
|
cost: {
|
||||||
|
input: 0.15,
|
||||||
|
output: 0.6,
|
||||||
|
cacheRead: 0.0375,
|
||||||
|
cacheWrite: 0,
|
||||||
|
},
|
||||||
|
contextWindow: 1048576,
|
||||||
|
maxTokens: 8192,
|
||||||
|
} satisfies Model<"google-vertex">,
|
||||||
|
"gemini-2.0-flash-lite": {
|
||||||
|
id: "gemini-2.0-flash-lite",
|
||||||
|
name: "Gemini 2.0 Flash Lite (Vertex)",
|
||||||
|
api: "google-vertex",
|
||||||
|
provider: "google-vertex",
|
||||||
|
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
||||||
|
reasoning: true,
|
||||||
|
input: ["text", "image"],
|
||||||
|
cost: {
|
||||||
|
input: 0.075,
|
||||||
|
output: 0.3,
|
||||||
|
cacheRead: 0.01875,
|
||||||
|
cacheWrite: 0,
|
||||||
|
},
|
||||||
|
contextWindow: 1048576,
|
||||||
|
maxTokens: 65536,
|
||||||
|
} satisfies Model<"google-vertex">,
|
||||||
|
"gemini-2.5-flash": {
|
||||||
|
id: "gemini-2.5-flash",
|
||||||
|
name: "Gemini 2.5 Flash (Vertex)",
|
||||||
|
api: "google-vertex",
|
||||||
|
provider: "google-vertex",
|
||||||
|
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
||||||
|
reasoning: true,
|
||||||
|
input: ["text", "image"],
|
||||||
|
cost: {
|
||||||
|
input: 0.3,
|
||||||
|
output: 2.5,
|
||||||
|
cacheRead: 0.03,
|
||||||
|
cacheWrite: 0,
|
||||||
|
},
|
||||||
|
contextWindow: 1048576,
|
||||||
|
maxTokens: 65536,
|
||||||
|
} satisfies Model<"google-vertex">,
|
||||||
|
"gemini-2.5-flash-lite": {
|
||||||
|
id: "gemini-2.5-flash-lite",
|
||||||
|
name: "Gemini 2.5 Flash Lite (Vertex)",
|
||||||
|
api: "google-vertex",
|
||||||
|
provider: "google-vertex",
|
||||||
|
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
||||||
|
reasoning: true,
|
||||||
|
input: ["text", "image"],
|
||||||
|
cost: {
|
||||||
|
input: 0.1,
|
||||||
|
output: 0.4,
|
||||||
|
cacheRead: 0.01,
|
||||||
|
cacheWrite: 0,
|
||||||
|
},
|
||||||
|
contextWindow: 1048576,
|
||||||
|
maxTokens: 65536,
|
||||||
|
} satisfies Model<"google-vertex">,
|
||||||
|
"gemini-2.5-flash-lite-preview-09-2025": {
|
||||||
|
id: "gemini-2.5-flash-lite-preview-09-2025",
|
||||||
|
name: "Gemini 2.5 Flash Lite Preview 09-25 (Vertex)",
|
||||||
|
api: "google-vertex",
|
||||||
|
provider: "google-vertex",
|
||||||
|
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
||||||
|
reasoning: true,
|
||||||
|
input: ["text", "image"],
|
||||||
|
cost: {
|
||||||
|
input: 0.1,
|
||||||
|
output: 0.4,
|
||||||
|
cacheRead: 0.01,
|
||||||
|
cacheWrite: 0,
|
||||||
|
},
|
||||||
|
contextWindow: 1048576,
|
||||||
|
maxTokens: 65536,
|
||||||
|
} satisfies Model<"google-vertex">,
|
||||||
|
"gemini-2.5-pro": {
|
||||||
|
id: "gemini-2.5-pro",
|
||||||
|
name: "Gemini 2.5 Pro (Vertex)",
|
||||||
|
api: "google-vertex",
|
||||||
|
provider: "google-vertex",
|
||||||
|
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
||||||
|
reasoning: true,
|
||||||
|
input: ["text", "image"],
|
||||||
|
cost: {
|
||||||
|
input: 1.25,
|
||||||
|
output: 10,
|
||||||
|
cacheRead: 0.125,
|
||||||
|
cacheWrite: 0,
|
||||||
|
},
|
||||||
|
contextWindow: 1048576,
|
||||||
|
maxTokens: 65536,
|
||||||
|
} satisfies Model<"google-vertex">,
|
||||||
|
"gemini-3-flash-preview": {
|
||||||
|
id: "gemini-3-flash-preview",
|
||||||
|
name: "Gemini 3 Flash Preview (Vertex)",
|
||||||
|
api: "google-vertex",
|
||||||
|
provider: "google-vertex",
|
||||||
|
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
||||||
|
reasoning: true,
|
||||||
|
input: ["text", "image"],
|
||||||
|
cost: {
|
||||||
|
input: 0.5,
|
||||||
|
output: 3,
|
||||||
|
cacheRead: 0.05,
|
||||||
|
cacheWrite: 0,
|
||||||
|
},
|
||||||
|
contextWindow: 1048576,
|
||||||
|
maxTokens: 65536,
|
||||||
|
} satisfies Model<"google-vertex">,
|
||||||
|
"gemini-3-pro-preview": {
|
||||||
|
id: "gemini-3-pro-preview",
|
||||||
|
name: "Gemini 3 Pro Preview (Vertex)",
|
||||||
|
api: "google-vertex",
|
||||||
|
provider: "google-vertex",
|
||||||
|
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
||||||
|
reasoning: true,
|
||||||
|
input: ["text", "image"],
|
||||||
|
cost: {
|
||||||
|
input: 2,
|
||||||
|
output: 12,
|
||||||
|
cacheRead: 0.2,
|
||||||
|
cacheWrite: 0,
|
||||||
|
},
|
||||||
|
contextWindow: 1000000,
|
||||||
|
maxTokens: 64000,
|
||||||
|
} satisfies Model<"google-vertex">,
|
||||||
|
},
|
||||||
"groq": {
|
"groq": {
|
||||||
"deepseek-r1-distill-llama-70b": {
|
"deepseek-r1-distill-llama-70b": {
|
||||||
id: "deepseek-r1-distill-llama-70b",
|
id: "deepseek-r1-distill-llama-70b",
|
||||||
|
|
@ -7102,193 +7291,4 @@ export const MODELS = {
|
||||||
maxTokens: 131072,
|
maxTokens: 131072,
|
||||||
} satisfies Model<"openai-completions">,
|
} satisfies Model<"openai-completions">,
|
||||||
},
|
},
|
||||||
"google-vertex": {
|
|
||||||
"gemini-3-pro-preview": {
|
|
||||||
id: "gemini-3-pro-preview",
|
|
||||||
name: "Gemini 3 Pro Preview (Vertex)",
|
|
||||||
api: "google-vertex",
|
|
||||||
provider: "google-vertex",
|
|
||||||
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
|
||||||
reasoning: true,
|
|
||||||
input: ["text", "image"],
|
|
||||||
cost: {
|
|
||||||
input: 2,
|
|
||||||
output: 12,
|
|
||||||
cacheRead: 0.2,
|
|
||||||
cacheWrite: 0,
|
|
||||||
},
|
|
||||||
contextWindow: 1000000,
|
|
||||||
maxTokens: 64000,
|
|
||||||
} satisfies Model<"google-vertex">,
|
|
||||||
"gemini-3-flash-preview": {
|
|
||||||
id: "gemini-3-flash-preview",
|
|
||||||
name: "Gemini 3 Flash Preview (Vertex)",
|
|
||||||
api: "google-vertex",
|
|
||||||
provider: "google-vertex",
|
|
||||||
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
|
||||||
reasoning: true,
|
|
||||||
input: ["text", "image"],
|
|
||||||
cost: {
|
|
||||||
input: 0.5,
|
|
||||||
output: 3,
|
|
||||||
cacheRead: 0.05,
|
|
||||||
cacheWrite: 0,
|
|
||||||
},
|
|
||||||
contextWindow: 1048576,
|
|
||||||
maxTokens: 65536,
|
|
||||||
} satisfies Model<"google-vertex">,
|
|
||||||
"gemini-2.0-flash": {
|
|
||||||
id: "gemini-2.0-flash",
|
|
||||||
name: "Gemini 2.0 Flash (Vertex)",
|
|
||||||
api: "google-vertex",
|
|
||||||
provider: "google-vertex",
|
|
||||||
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
|
||||||
reasoning: false,
|
|
||||||
input: ["text", "image"],
|
|
||||||
cost: {
|
|
||||||
input: 0.1,
|
|
||||||
output: 0.4,
|
|
||||||
cacheRead: 0.025,
|
|
||||||
cacheWrite: 0,
|
|
||||||
},
|
|
||||||
contextWindow: 1048576,
|
|
||||||
maxTokens: 8192,
|
|
||||||
} satisfies Model<"google-vertex">,
|
|
||||||
"gemini-2.0-flash-lite": {
|
|
||||||
id: "gemini-2.0-flash-lite",
|
|
||||||
name: "Gemini 2.0 Flash Lite (Vertex)",
|
|
||||||
api: "google-vertex",
|
|
||||||
provider: "google-vertex",
|
|
||||||
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
|
||||||
reasoning: true,
|
|
||||||
input: ["text", "image"],
|
|
||||||
cost: {
|
|
||||||
input: 0.1,
|
|
||||||
output: 0.4,
|
|
||||||
cacheRead: 0.025,
|
|
||||||
cacheWrite: 0,
|
|
||||||
},
|
|
||||||
contextWindow: 1048576,
|
|
||||||
maxTokens: 65536,
|
|
||||||
} satisfies Model<"google-vertex">,
|
|
||||||
"gemini-2.5-pro": {
|
|
||||||
id: "gemini-2.5-pro",
|
|
||||||
name: "Gemini 2.5 Pro (Vertex)",
|
|
||||||
api: "google-vertex",
|
|
||||||
provider: "google-vertex",
|
|
||||||
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
|
||||||
reasoning: true,
|
|
||||||
input: ["text", "image"],
|
|
||||||
cost: {
|
|
||||||
input: 1.25,
|
|
||||||
output: 10,
|
|
||||||
cacheRead: 0.31,
|
|
||||||
cacheWrite: 0,
|
|
||||||
},
|
|
||||||
contextWindow: 1048576,
|
|
||||||
maxTokens: 65536,
|
|
||||||
} satisfies Model<"google-vertex">,
|
|
||||||
"gemini-2.5-flash": {
|
|
||||||
id: "gemini-2.5-flash",
|
|
||||||
name: "Gemini 2.5 Flash (Vertex)",
|
|
||||||
api: "google-vertex",
|
|
||||||
provider: "google-vertex",
|
|
||||||
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
|
||||||
reasoning: true,
|
|
||||||
input: ["text", "image"],
|
|
||||||
cost: {
|
|
||||||
input: 0.3,
|
|
||||||
output: 2.5,
|
|
||||||
cacheRead: 0.075,
|
|
||||||
cacheWrite: 0,
|
|
||||||
},
|
|
||||||
contextWindow: 1048576,
|
|
||||||
maxTokens: 65536,
|
|
||||||
} satisfies Model<"google-vertex">,
|
|
||||||
"gemini-2.5-flash-lite-preview-09-2025": {
|
|
||||||
id: "gemini-2.5-flash-lite-preview-09-2025",
|
|
||||||
name: "Gemini 2.5 Flash Lite Preview 09-25 (Vertex)",
|
|
||||||
api: "google-vertex",
|
|
||||||
provider: "google-vertex",
|
|
||||||
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
|
||||||
reasoning: true,
|
|
||||||
input: ["text", "image"],
|
|
||||||
cost: {
|
|
||||||
input: 0.1,
|
|
||||||
output: 0.4,
|
|
||||||
cacheRead: 0.025,
|
|
||||||
cacheWrite: 0,
|
|
||||||
},
|
|
||||||
contextWindow: 1048576,
|
|
||||||
maxTokens: 65536,
|
|
||||||
} satisfies Model<"google-vertex">,
|
|
||||||
"gemini-2.5-flash-lite": {
|
|
||||||
id: "gemini-2.5-flash-lite",
|
|
||||||
name: "Gemini 2.5 Flash Lite (Vertex)",
|
|
||||||
api: "google-vertex",
|
|
||||||
provider: "google-vertex",
|
|
||||||
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
|
||||||
reasoning: true,
|
|
||||||
input: ["text", "image"],
|
|
||||||
cost: {
|
|
||||||
input: 0.1,
|
|
||||||
output: 0.4,
|
|
||||||
cacheRead: 0.025,
|
|
||||||
cacheWrite: 0,
|
|
||||||
},
|
|
||||||
contextWindow: 1048576,
|
|
||||||
maxTokens: 65536,
|
|
||||||
} satisfies Model<"google-vertex">,
|
|
||||||
"gemini-1.5-pro": {
|
|
||||||
id: "gemini-1.5-pro",
|
|
||||||
name: "Gemini 1.5 Pro (Vertex)",
|
|
||||||
api: "google-vertex",
|
|
||||||
provider: "google-vertex",
|
|
||||||
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
|
||||||
reasoning: false,
|
|
||||||
input: ["text", "image"],
|
|
||||||
cost: {
|
|
||||||
input: 1.25,
|
|
||||||
output: 5,
|
|
||||||
cacheRead: 0.3125,
|
|
||||||
cacheWrite: 0,
|
|
||||||
},
|
|
||||||
contextWindow: 1000000,
|
|
||||||
maxTokens: 8192,
|
|
||||||
} satisfies Model<"google-vertex">,
|
|
||||||
"gemini-1.5-flash": {
|
|
||||||
id: "gemini-1.5-flash",
|
|
||||||
name: "Gemini 1.5 Flash (Vertex)",
|
|
||||||
api: "google-vertex",
|
|
||||||
provider: "google-vertex",
|
|
||||||
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
|
||||||
reasoning: false,
|
|
||||||
input: ["text", "image"],
|
|
||||||
cost: {
|
|
||||||
input: 0.075,
|
|
||||||
output: 0.3,
|
|
||||||
cacheRead: 0.01875,
|
|
||||||
cacheWrite: 0,
|
|
||||||
},
|
|
||||||
contextWindow: 1000000,
|
|
||||||
maxTokens: 8192,
|
|
||||||
} satisfies Model<"google-vertex">,
|
|
||||||
"gemini-1.5-flash-8b": {
|
|
||||||
id: "gemini-1.5-flash-8b",
|
|
||||||
name: "Gemini 1.5 Flash-8B (Vertex)",
|
|
||||||
api: "google-vertex",
|
|
||||||
provider: "google-vertex",
|
|
||||||
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
|
||||||
reasoning: false,
|
|
||||||
input: ["text", "image"],
|
|
||||||
cost: {
|
|
||||||
input: 0.0375,
|
|
||||||
output: 0.15,
|
|
||||||
cacheRead: 0.01,
|
|
||||||
cacheWrite: 0,
|
|
||||||
},
|
|
||||||
contextWindow: 1000000,
|
|
||||||
maxTokens: 8192,
|
|
||||||
} satisfies Model<"google-vertex">,
|
|
||||||
},
|
|
||||||
} as const;
|
} as const;
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import {
|
||||||
type GenerateContentParameters,
|
type GenerateContentParameters,
|
||||||
GoogleGenAI,
|
GoogleGenAI,
|
||||||
type ThinkingConfig,
|
type ThinkingConfig,
|
||||||
type ThinkingLevel,
|
ThinkingLevel,
|
||||||
} from "@google/genai";
|
} from "@google/genai";
|
||||||
import { calculateCost } from "../models.js";
|
import { calculateCost } from "../models.js";
|
||||||
import type {
|
import type {
|
||||||
|
|
@ -19,6 +19,7 @@ import type {
|
||||||
} from "../types.js";
|
} from "../types.js";
|
||||||
import { AssistantMessageEventStream } from "../utils/event-stream.js";
|
import { AssistantMessageEventStream } from "../utils/event-stream.js";
|
||||||
import { sanitizeSurrogates } from "../utils/sanitize-unicode.js";
|
import { sanitizeSurrogates } from "../utils/sanitize-unicode.js";
|
||||||
|
import type { GoogleThinkingLevel } from "./google-gemini-cli.js";
|
||||||
import { convertMessages, convertTools, mapStopReason, mapToolChoice } from "./google-shared.js";
|
import { convertMessages, convertTools, mapStopReason, mapToolChoice } from "./google-shared.js";
|
||||||
|
|
||||||
export interface GoogleVertexOptions extends StreamOptions {
|
export interface GoogleVertexOptions extends StreamOptions {
|
||||||
|
|
@ -26,7 +27,7 @@ export interface GoogleVertexOptions extends StreamOptions {
|
||||||
thinking?: {
|
thinking?: {
|
||||||
enabled: boolean;
|
enabled: boolean;
|
||||||
budgetTokens?: number; // -1 for dynamic, 0 to disable
|
budgetTokens?: number; // -1 for dynamic, 0 to disable
|
||||||
level?: ThinkingLevel;
|
level?: GoogleThinkingLevel;
|
||||||
};
|
};
|
||||||
project?: string;
|
project?: string;
|
||||||
location?: string;
|
location?: string;
|
||||||
|
|
@ -34,6 +35,14 @@ export interface GoogleVertexOptions extends StreamOptions {
|
||||||
|
|
||||||
const API_VERSION = "v1";
|
const API_VERSION = "v1";
|
||||||
|
|
||||||
|
const THINKING_LEVEL_MAP: Record<GoogleThinkingLevel, ThinkingLevel> = {
|
||||||
|
THINKING_LEVEL_UNSPECIFIED: ThinkingLevel.THINKING_LEVEL_UNSPECIFIED,
|
||||||
|
MINIMAL: ThinkingLevel.MINIMAL,
|
||||||
|
LOW: ThinkingLevel.LOW,
|
||||||
|
MEDIUM: ThinkingLevel.MEDIUM,
|
||||||
|
HIGH: ThinkingLevel.HIGH,
|
||||||
|
};
|
||||||
|
|
||||||
// Counter for generating unique tool call IDs
|
// Counter for generating unique tool call IDs
|
||||||
let toolCallCounter = 0;
|
let toolCallCounter = 0;
|
||||||
|
|
||||||
|
|
@ -322,7 +331,7 @@ function buildParams(
|
||||||
if (options.thinking?.enabled && model.reasoning) {
|
if (options.thinking?.enabled && model.reasoning) {
|
||||||
const thinkingConfig: ThinkingConfig = { includeThoughts: true };
|
const thinkingConfig: ThinkingConfig = { includeThoughts: true };
|
||||||
if (options.thinking.level !== undefined) {
|
if (options.thinking.level !== undefined) {
|
||||||
thinkingConfig.thinkingLevel = options.thinking.level;
|
thinkingConfig.thinkingLevel = THINKING_LEVEL_MAP[options.thinking.level];
|
||||||
} else if (options.thinking.budgetTokens !== undefined) {
|
} else if (options.thinking.budgetTokens !== undefined) {
|
||||||
thinkingConfig.thinkingBudget = options.thinking.budgetTokens;
|
thinkingConfig.thinkingBudget = options.thinking.budgetTokens;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -259,23 +259,14 @@ function mapOptionsForApi<TApi extends Api>(
|
||||||
|
|
||||||
const vertexModel = model as Model<"google-vertex">;
|
const vertexModel = model as Model<"google-vertex">;
|
||||||
const effort = clampReasoning(options.reasoning)!;
|
const effort = clampReasoning(options.reasoning)!;
|
||||||
|
const geminiModel = vertexModel as unknown as Model<"google-generative-ai">;
|
||||||
|
|
||||||
if (isGemini3ProModel(vertexModel as unknown as Model<"google-generative-ai">)) {
|
if (isGemini3ProModel(geminiModel) || isGemini3FlashModel(geminiModel)) {
|
||||||
return {
|
return {
|
||||||
...base,
|
...base,
|
||||||
thinking: {
|
thinking: {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
level: getGemini3ThinkingLevel(effort, vertexModel as unknown as Model<"google-generative-ai">),
|
level: getGemini3ThinkingLevel(effort, geminiModel),
|
||||||
},
|
|
||||||
} satisfies GoogleVertexOptions;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isGemini3FlashModel(vertexModel as unknown as Model<"google-generative-ai">)) {
|
|
||||||
return {
|
|
||||||
...base,
|
|
||||||
thinking: {
|
|
||||||
enabled: true,
|
|
||||||
level: getGemini3ThinkingLevel(effort, vertexModel as unknown as Model<"google-generative-ai">),
|
|
||||||
},
|
},
|
||||||
} satisfies GoogleVertexOptions;
|
} satisfies GoogleVertexOptions;
|
||||||
}
|
}
|
||||||
|
|
@ -284,7 +275,7 @@ function mapOptionsForApi<TApi extends Api>(
|
||||||
...base,
|
...base,
|
||||||
thinking: {
|
thinking: {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
budgetTokens: getGoogleBudget(vertexModel as unknown as Model<"google-generative-ai">, effort),
|
budgetTokens: getGoogleBudget(geminiModel, effort),
|
||||||
},
|
},
|
||||||
} satisfies GoogleVertexOptions;
|
} satisfies GoogleVertexOptions;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue