@ai-sdk/google-vertex
Version:
The **[Google Vertex provider](https://ai-sdk.dev/providers/ai-sdk-providers/google-vertex)** for the [AI SDK](https://ai-sdk.dev/docs) contains language model support for the [Google Vertex AI](https://cloud.google.com/vertex-ai) APIs.
64 lines (57 loc) • 2.24 kB
text/typescript
import { z } from 'zod/v4';
// https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/text-embeddings-api
export type GoogleVertexEmbeddingModelId =
| 'textembedding-gecko'
| 'textembedding-gecko@001'
| 'textembedding-gecko@003'
| 'textembedding-gecko-multilingual'
| 'textembedding-gecko-multilingual@001'
| 'text-multilingual-embedding-002'
| 'text-embedding-004'
| 'text-embedding-005'
| (string & {});
export const googleVertexEmbeddingProviderOptions = z.object({
/**
* Optional. Optional reduced dimension for the output embedding.
* If set, excessive values in the output embedding are truncated from the end.
*/
outputDimensionality: z.number().optional(),
/**
* Optional. Specifies the task type for generating embeddings.
* Supported task types:
* - SEMANTIC_SIMILARITY: Optimized for text similarity.
* - CLASSIFICATION: Optimized for text classification.
* - CLUSTERING: Optimized for clustering texts based on similarity.
* - RETRIEVAL_DOCUMENT: Optimized for document retrieval.
* - RETRIEVAL_QUERY: Optimized for query-based retrieval.
* - QUESTION_ANSWERING: Optimized for answering questions.
* - FACT_VERIFICATION: Optimized for verifying factual information.
* - CODE_RETRIEVAL_QUERY: Optimized for retrieving code blocks based on natural language queries.
*/
taskType: z
.enum([
'SEMANTIC_SIMILARITY',
'CLASSIFICATION',
'CLUSTERING',
'RETRIEVAL_DOCUMENT',
'RETRIEVAL_QUERY',
'QUESTION_ANSWERING',
'FACT_VERIFICATION',
'CODE_RETRIEVAL_QUERY',
])
.optional(),
/**
* Optional. The title of the document being embedded.
* Only valid when task_type is set to 'RETRIEVAL_DOCUMENT'.
* Helps the model produce better embeddings by providing additional context.
*/
title: z.string().optional(),
/**
* Optional. When set to true, input text will be truncated. When set to false,
* an error is returned if the input text is longer than the maximum length supported by the model. Defaults to true.
*/
autoTruncate: z.boolean().optional(),
});
export type GoogleVertexEmbeddingProviderOptions = z.infer<
typeof googleVertexEmbeddingProviderOptions
>;