UNPKG

@mastra/core

Version:

Mastra is a framework for building AI-powered applications and agents with a modern TypeScript stack.

50 lines 2.04 kB
import type { EmbeddingModelV2 } from '@ai-sdk/provider-v5'; import type { OpenAICompatibleConfig } from './shared.types.js'; /** * Information about a known embedding model */ export interface EmbeddingModelInfo { id: string; provider: string; dimensions: number; maxInputTokens: number; description?: string; } /** * Hardcoded list of known embedding models * This is a curated list that provides autocomplete support */ export declare const EMBEDDING_MODELS: EmbeddingModelInfo[]; /** * Type for embedding model IDs in the format "provider/model" */ export type EmbeddingModelId = 'openai/text-embedding-3-small' | 'openai/text-embedding-3-large' | 'openai/text-embedding-ada-002' | 'google/gemini-embedding-001' | 'google/text-embedding-004'; /** * Check if a model ID is a known embedding model */ export declare function isKnownEmbeddingModel(modelId: string): boolean; /** * Get information about a known embedding model */ export declare function getEmbeddingModelInfo(modelId: string): EmbeddingModelInfo | undefined; /** * Model router for embedding models that uses the provider/model string format. * Automatically resolves the correct AI SDK provider and initializes the embedding model. * * @example * ```ts * const embedder = new ModelRouterEmbeddingModel('openai/text-embedding-3-small'); * const result = await embedder.doEmbed({ values: ['hello world'] }); * ``` */ export declare class ModelRouterEmbeddingModel<VALUE extends string = string> implements EmbeddingModelV2<VALUE> { readonly specificationVersion: "v2"; readonly modelId: string; readonly provider: string; maxEmbeddingsPerCall: number | PromiseLike<number | undefined>; supportsParallelCalls: boolean | PromiseLike<boolean>; private providerModel; constructor(config: string | OpenAICompatibleConfig); doEmbed(args: Parameters<EmbeddingModelV2<VALUE>['doEmbed']>[0]): Promise<Awaited<ReturnType<EmbeddingModelV2<VALUE>['doEmbed']>>>; } //# sourceMappingURL=embedding-router.d.ts.map