TanStack

EmbeddingAdapter

Defined in: packages/ai/src/activities/embed/adapter.ts:31

Embedding adapter interface with pre-resolved generics.

An adapter is created by a provider function: provider('model') → adapter All type resolution happens at the provider call site, not in this interface.

Generic parameters:

  • TModel: The specific model name (e.g., 'text-embedding-3-small')
  • TProviderOptions: Base provider-specific options (already resolved)
  • TModelProviderOptionsByName: Map from model name to its specific provider options
  • TModelInputModalitiesByName: Map from model name to the input modalities it accepts (constrains the input item types at compile time)

Type Parameters

TModel

TModel extends string = string

TProviderOptions

TProviderOptions extends object = Record<string, unknown>

TModelProviderOptionsByName

TModelProviderOptionsByName extends Record<string, any> = Record<string, any>

TModelInputModalitiesByName

TModelInputModalitiesByName extends EmbeddingModelInputModalitiesByName = EmbeddingModelInputModalitiesByName

Properties

~types

ts
~types: object;

Defined in: packages/ai/src/activities/embed/adapter.ts:54

Internal

Type-only properties for inference. Not assigned at runtime.

modelInputModalitiesByName

ts
modelInputModalitiesByName: TModelInputModalitiesByName;

modelProviderOptionsByName

ts
modelProviderOptionsByName: TModelProviderOptionsByName;

providerOptions

ts
providerOptions: TProviderOptions;

createEmbeddings

ts
createEmbeddings: (options) => Promise<EmbeddingResult>;

Defined in: packages/ai/src/activities/embed/adapter.ts:63

Generate embeddings for the input items (one vector per item)

Parameters

options

EmbeddingOptions<TProviderOptions>

Returns

Promise<EmbeddingResult>


kind

ts
readonly kind: "embedding";

Defined in: packages/ai/src/activities/embed/adapter.ts:39

Discriminator for adapter kind


model

ts
readonly model: TModel;

Defined in: packages/ai/src/activities/embed/adapter.ts:49

The model this adapter is configured for


name

ts
readonly name: string;

Defined in: packages/ai/src/activities/embed/adapter.ts:41

Adapter name identifier


supportsFileSources?

ts
readonly optional supportsFileSources?: boolean;

Defined in: packages/ai/src/activities/embed/adapter.ts:47

Declares that this adapter can consume { type: 'file' } content sources (provider Files API references). embed() rejects file sources in preflight for adapters that don't declare this.