@genkit-ai/googleai
Version:
Genkit AI framework plugin for Google AI APIs, including Gemini APIs.
887 lines (885 loc) • 131 kB
TypeScript
import { FunctionDeclaration, Content, GenerateContentCandidate } from '@google/generative-ai';
import { z, JSONSchema, Genkit } from 'genkit';
import { ModelReference, ToolDefinitionSchema, MessageData, CandidateData, ModelInfo, ModelAction } from 'genkit/model';
/**
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
declare const GeminiConfigSchema: z.ZodObject<z.objectUtil.extendShape<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, {
/** When supplied, override the plugin-configured API key and use this instead. */
apiKey: z.ZodOptional<z.ZodString>;
safetySettings: z.ZodOptional<z.ZodArray<z.ZodObject<{
category: z.ZodEnum<["HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_DANGEROUS_CONTENT"]>;
threshold: z.ZodEnum<["BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE"]>;
}, "strip", z.ZodTypeAny, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}>, "many">>;
codeExecution: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>]>>;
contextCache: z.ZodOptional<z.ZodBoolean>;
functionCallingConfig: z.ZodOptional<z.ZodObject<{
mode: z.ZodOptional<z.ZodEnum<["MODE_UNSPECIFIED", "AUTO", "ANY", "NONE"]>>;
allowedFunctionNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}>>;
/**
* Specify what modalities should be used in response. Only supported in
* 'gemini-2.0-flash-exp' model at present.
**/
responseModalities: z.ZodOptional<z.ZodArray<z.ZodEnum<["TEXT", "IMAGE", "AUDIO"]>, "many">>;
}>, "strip", z.ZodTypeAny, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}>;
type GeminiConfig = z.infer<typeof GeminiConfigSchema>;
declare const gemini10Pro: ModelReference<z.ZodObject<z.objectUtil.extendShape<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, {
/** When supplied, override the plugin-configured API key and use this instead. */
apiKey: z.ZodOptional<z.ZodString>;
safetySettings: z.ZodOptional<z.ZodArray<z.ZodObject<{
category: z.ZodEnum<["HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_DANGEROUS_CONTENT"]>;
threshold: z.ZodEnum<["BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE"]>;
}, "strip", z.ZodTypeAny, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}>, "many">>;
codeExecution: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>]>>;
contextCache: z.ZodOptional<z.ZodBoolean>;
functionCallingConfig: z.ZodOptional<z.ZodObject<{
mode: z.ZodOptional<z.ZodEnum<["MODE_UNSPECIFIED", "AUTO", "ANY", "NONE"]>>;
allowedFunctionNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}>>;
/**
* Specify what modalities should be used in response. Only supported in
* 'gemini-2.0-flash-exp' model at present.
**/
responseModalities: z.ZodOptional<z.ZodArray<z.ZodEnum<["TEXT", "IMAGE", "AUDIO"]>, "many">>;
}>, "strip", z.ZodTypeAny, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}>>;
declare const gemini15Pro: ModelReference<z.ZodObject<z.objectUtil.extendShape<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, {
/** When supplied, override the plugin-configured API key and use this instead. */
apiKey: z.ZodOptional<z.ZodString>;
safetySettings: z.ZodOptional<z.ZodArray<z.ZodObject<{
category: z.ZodEnum<["HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_DANGEROUS_CONTENT"]>;
threshold: z.ZodEnum<["BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE"]>;
}, "strip", z.ZodTypeAny, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}>, "many">>;
codeExecution: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>]>>;
contextCache: z.ZodOptional<z.ZodBoolean>;
functionCallingConfig: z.ZodOptional<z.ZodObject<{
mode: z.ZodOptional<z.ZodEnum<["MODE_UNSPECIFIED", "AUTO", "ANY", "NONE"]>>;
allowedFunctionNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}>>;
/**
* Specify what modalities should be used in response. Only supported in
* 'gemini-2.0-flash-exp' model at present.
**/
responseModalities: z.ZodOptional<z.ZodArray<z.ZodEnum<["TEXT", "IMAGE", "AUDIO"]>, "many">>;
}>, "strip", z.ZodTypeAny, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}>>;
declare const gemini15Flash: ModelReference<z.ZodObject<z.objectUtil.extendShape<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, {
/** When supplied, override the plugin-configured API key and use this instead. */
apiKey: z.ZodOptional<z.ZodString>;
safetySettings: z.ZodOptional<z.ZodArray<z.ZodObject<{
category: z.ZodEnum<["HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_DANGEROUS_CONTENT"]>;
threshold: z.ZodEnum<["BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE"]>;
}, "strip", z.ZodTypeAny, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}>, "many">>;
codeExecution: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>]>>;
contextCache: z.ZodOptional<z.ZodBoolean>;
functionCallingConfig: z.ZodOptional<z.ZodObject<{
mode: z.ZodOptional<z.ZodEnum<["MODE_UNSPECIFIED", "AUTO", "ANY", "NONE"]>>;
allowedFunctionNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}>>;
/**
* Specify what modalities should be used in response. Only supported in
* 'gemini-2.0-flash-exp' model at present.
**/
responseModalities: z.ZodOptional<z.ZodArray<z.ZodEnum<["TEXT", "IMAGE", "AUDIO"]>, "many">>;
}>, "strip", z.ZodTypeAny, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}>>;
declare const gemini15Flash8b: ModelReference<z.ZodObject<z.objectUtil.extendShape<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, {
/** When supplied, override the plugin-configured API key and use this instead. */
apiKey: z.ZodOptional<z.ZodString>;
safetySettings: z.ZodOptional<z.ZodArray<z.ZodObject<{
category: z.ZodEnum<["HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_DANGEROUS_CONTENT"]>;
threshold: z.ZodEnum<["BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE"]>;
}, "strip", z.ZodTypeAny, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}>, "many">>;
codeExecution: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>]>>;
contextCache: z.ZodOptional<z.ZodBoolean>;
functionCallingConfig: z.ZodOptional<z.ZodObject<{
mode: z.ZodOptional<z.ZodEnum<["MODE_UNSPECIFIED", "AUTO", "ANY", "NONE"]>>;
allowedFunctionNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}>>;
/**
* Specify what modalities should be used in response. Only supported in
* 'gemini-2.0-flash-exp' model at present.
**/
responseModalities: z.ZodOptional<z.ZodArray<z.ZodEnum<["TEXT", "IMAGE", "AUDIO"]>, "many">>;
}>, "strip", z.ZodTypeAny, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}>>;
declare const gemini20Flash: ModelReference<z.ZodObject<z.objectUtil.extendShape<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, {
/** When supplied, override the plugin-configured API key and use this instead. */
apiKey: z.ZodOptional<z.ZodString>;
safetySettings: z.ZodOptional<z.ZodArray<z.ZodObject<{
category: z.ZodEnum<["HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_DANGEROUS_CONTENT"]>;
threshold: z.ZodEnum<["BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE"]>;
}, "strip", z.ZodTypeAny, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}>, "many">>;
codeExecution: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>]>>;
contextCache: z.ZodOptional<z.ZodBoolean>;
functionCallingConfig: z.ZodOptional<z.ZodObject<{
mode: z.ZodOptional<z.ZodEnum<["MODE_UNSPECIFIED", "AUTO", "ANY", "NONE"]>>;
allowedFunctionNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}>>;
/**
* Specify what modalities should be used in response. Only supported in
* 'gemini-2.0-flash-exp' model at present.
**/
responseModalities: z.ZodOptional<z.ZodArray<z.ZodEnum<["TEXT", "IMAGE", "AUDIO"]>, "many">>;
}>, "strip", z.ZodTypeAny, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}>>;
declare const gemini20FlashExp: ModelReference<z.ZodObject<z.objectUtil.extendShape<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, {
/** When supplied, override the plugin-configured API key and use this instead. */
apiKey: z.ZodOptional<z.ZodString>;
safetySettings: z.ZodOptional<z.ZodArray<z.ZodObject<{
category: z.ZodEnum<["HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_DANGEROUS_CONTENT"]>;
threshold: z.ZodEnum<["BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE"]>;
}, "strip", z.ZodTypeAny, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}>, "many">>;
codeExecution: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>]>>;
contextCache: z.ZodOptional<z.ZodBoolean>;
functionCallingConfig: z.ZodOptional<z.ZodObject<{
mode: z.ZodOptional<z.ZodEnum<["MODE_UNSPECIFIED", "AUTO", "ANY", "NONE"]>>;
allowedFunctionNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}>>;
/**
* Specify what modalities should be used in response. Only supported in
* 'gemini-2.0-flash-exp' model at present.
**/
responseModalities: z.ZodOptional<z.ZodArray<z.ZodEnum<["TEXT", "IMAGE", "AUDIO"]>, "many">>;
}>, "strip", z.ZodTypeAny, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}>>;
declare const gemini20FlashLite: ModelReference<z.ZodObject<z.objectUtil.extendShape<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, {
/** When supplied, override the plugin-configured API key and use this instead. */
apiKey: z.ZodOptional<z.ZodString>;
safetySettings: z.ZodOptional<z.ZodArray<z.ZodObject<{
category: z.ZodEnum<["HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_DANGEROUS_CONTENT"]>;
threshold: z.ZodEnum<["BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE"]>;
}, "strip", z.ZodTypeAny, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}>, "many">>;
codeExecution: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>]>>;
contextCache: z.ZodOptional<z.ZodBoolean>;
functionCallingConfig: z.ZodOptional<z.ZodObject<{
mode: z.ZodOptional<z.ZodEnum<["MODE_UNSPECIFIED", "AUTO", "ANY", "NONE"]>>;
allowedFunctionNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}>>;
/**
* Specify what modalities should be used in response. Only supported in
* 'gemini-2.0-flash-exp' model at present.
**/
responseModalities: z.ZodOptional<z.ZodArray<z.ZodEnum<["TEXT", "IMAGE", "AUDIO"]>, "many">>;
}>, "strip", z.ZodTypeAny, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}>>;
declare const gemini20ProExp0205: ModelReference<z.ZodObject<z.objectUtil.extendShape<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, {
/** When supplied, override the plugin-configured API key and use this instead. */
apiKey: z.ZodOptional<z.ZodString>;
safetySettings: z.ZodOptional<z.ZodArray<z.ZodObject<{
category: z.ZodEnum<["HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_DANGEROUS_CONTENT"]>;
threshold: z.ZodEnum<["BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE"]>;
}, "strip", z.ZodTypeAny, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}>, "many">>;
codeExecution: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>]>>;
contextCache: z.ZodOptional<z.ZodBoolean>;
functionCallingConfig: z.ZodOptional<z.ZodObject<{
mode: z.ZodOptional<z.ZodEnum<["MODE_UNSPECIFIED", "AUTO", "ANY", "NONE"]>>;
allowedFunctionNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}>>;
/**
* Specify what modalities should be used in response. Only supported in
* 'gemini-2.0-flash-exp' model at present.
**/
responseModalities: z.ZodOptional<z.ZodArray<z.ZodEnum<["TEXT", "IMAGE", "AUDIO"]>, "many">>;
}>, "strip", z.ZodTypeAny, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}>>;
declare const gemini25ProExp0325: ModelReference<z.ZodObject<z.objectUtil.extendShape<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, {
/** When supplied, override the plugin-configured API key and use this instead. */
apiKey: z.ZodOptional<z.ZodString>;
safetySettings: z.ZodOptional<z.ZodArray<z.ZodObject<{
category: z.ZodEnum<["HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_DANGEROUS_CONTENT"]>;
threshold: z.ZodEnum<["BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE"]>;
}, "strip", z.ZodTypeAny, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}>, "many">>;
codeExecution: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>]>>;
contextCache: z.ZodOptional<z.ZodBoolean>;
functionCallingConfig: z.ZodOptional<z.ZodObject<{
mode: z.ZodOptional<z.ZodEnum<["MODE_UNSPECIFIED", "AUTO", "ANY", "NONE"]>>;
allowedFunctionNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}>>;
/**
* Specify what modalities should be used in response. Only supported in
* 'gemini-2.0-flash-exp' model at present.
**/
responseModalities: z.ZodOptional<z.ZodArray<z.ZodEnum<["TEXT", "IMAGE", "AUDIO"]>, "many">>;
}>, "strip", z.ZodTypeAny, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}>>;
declare const SUPPORTED_V1_MODELS: {
'gemini-1.0-pro': ModelReference<z.ZodObject<z.objectUtil.extendShape<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, {
/** When supplied, override the plugin-configured API key and use this instead. */
apiKey: z.ZodOptional<z.ZodString>;
safetySettings: z.ZodOptional<z.ZodArray<z.ZodObject<{
category: z.ZodEnum<["HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_DANGEROUS_CONTENT"]>;
threshold: z.ZodEnum<["BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE"]>;
}, "strip", z.ZodTypeAny, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}>, "many">>;
codeExecution: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>]>>;
contextCache: z.ZodOptional<z.ZodBoolean>;
functionCallingConfig: z.ZodOptional<z.ZodObject<{
mode: z.ZodOptional<z.ZodEnum<["MODE_UNSPECIFIED", "AUTO", "ANY", "NONE"]>>;
allowedFunctionNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}, {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
}>>;
/**
* Specify what modalities should be used in response. Only supported in
* 'gemini-2.0-flash-exp' model at present.
**/
responseModalities: z.ZodOptional<z.ZodArray<z.ZodEnum<["TEXT", "IMAGE", "AUDIO"]>, "many">>;
}>, "strip", z.ZodTypeAny, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}, {
apiKey?: string | undefined;
version?: string | undefined;
safetySettings?: {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}[] | undefined;
codeExecution?: boolean | {} | undefined;
contextCache?: boolean | undefined;
functionCallingConfig?: {
mode?: "MODE_UNSPECIFIED" | "AUTO" | "ANY" | "NONE" | undefined;
allowedFunctionNames?: string[] | undefined;
} | undefined;
responseModalities?: ("TEXT" | "IMAGE" | "AUDIO")[] | undefined;
temperature?: number | undefined;
maxOutputTokens?: number | undefined;
topK?: number | undefined;
topP?: number | undefined;
stopSequences?: string[] | undefined;
}>>;
};
declare const SUPPORTED_V15_MODELS: {
'gemini-1.5-pro': ModelReference<z.ZodObject<z.objectUtil.extendShape<{
version: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
topK: z.ZodOptional<z.ZodNumber>;
topP: z.ZodOptional<z.ZodNumber>;
stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, {
/** When supplied, override the plugin-configured API key and use this instead. */
apiKey: z.ZodOptional<z.ZodString>;
safetySettings: z.ZodOptional<z.ZodArray<z.ZodObject<{
category: z.ZodEnum<["HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_DANGEROUS_CONTENT"]>;
threshold: z.ZodEnum<["BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE"]>;
}, "strip", z.ZodTypeAny, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}, {
category: "HARM_CATEGORY_UNSPECIFIED" | "HARM_CATEGORY_HATE_SPEECH" | "HARM_CATEGORY_SEXUALLY_EXPLICIT" | "HARM_CATEGORY_HARASSMENT" | "HARM_CATEGORY_DANGEROUS_CONTENT";
threshold: "BLOCK_LOW_AND_ABOVE" | "BLOCK_MEDIUM_AND_ABOVE" | "BLOCK_ONLY_HIGH" | "BLOCK_NONE";
}>, "many">>;
codeExecution: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>]>>;
contextCache: z.ZodOptional<z.ZodBoolean>;
functionCallingConfig: z.ZodOptional<z.ZodObject<{
mode: z.ZodOptional<z.ZodEnum<["MODE_UNSPECIFIED", "AUTO", "ANY", "NONE"]>>;
allowedFunctionNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
m