UniversalEmbedder class

Multimodal universal embedder supporting text, image, audio, and interleaved content embeddings.

Signature:

export declare class UniversalEmbedder extends TaskRunner 

Extends: TaskRunner

Methods

Method Modifiers Description
close() Releases all native WASM and WebGPU resources held by this embedder.
cosineSimilarity(u, v) static Computes the cosine similarity between two Embedding objects.
createFromModelBuffer(wasmFileset, modelAssetBuffer) static Initializes the Wasm runtime and creates a new UniversalEmbedder based on the provided model asset buffer.
createFromModelPath(wasmFileset, modelAssetPath) static Initializes the Wasm runtime and creates a new UniversalEmbedder based on the path to the model asset.
createFromOptions(wasmFileset, options) static Initializes the Wasm runtime and creates a new UniversalEmbedder from the provided options.
createWebGpuDevice() static Requests a WebGPU GPUDevice with the required shader-f16 and storage buffer limits enabled for GPU-accelerated embedding inference.
embedAudio(samples, sampleRate) Computes an embedding for a mono PCM audio clip.
embedContent(parts) Computes a joint embedding for a sequence of multimodal TaskPart items.
embedImage(image) Computes an embedding for an image.
embedText(text) Computes an embedding for a text string.
getProvider() Returns an EmbeddingProvider adapter that can be registered with SemanticRetrieverComponents.addProvider().

UniversalEmbedder.close()

Releases all native WASM and WebGPU resources held by this embedder.

Signature:

close(): void;

Returns:

void

UniversalEmbedder.cosineSimilarity()

Computes the cosine similarity between two Embedding objects.

Signature:

static cosineSimilarity(u: Embedding, v: Embedding): number;

Parameters

Parameter Type Description
u Embedding First embedding.
v Embedding Second embedding.

Returns:

number

UniversalEmbedder.createFromModelBuffer()

Initializes the Wasm runtime and creates a new UniversalEmbedder based on the provided model asset buffer.

Signature:

static createFromModelBuffer(wasmFileset: WasmFileset, modelAssetBuffer: Uint8Array | ReadableStreamDefaultReader): Promise<UniversalEmbedder>;

Parameters

Parameter Type Description
wasmFileset WasmFileset A configuration object that provides the location of the Wasm binary and its loader.
modelAssetBuffer Uint8Array | ReadableStreamDefaultReader A binary representation of the model or a stream reader.

Returns:

Promise<UniversalEmbedder>

UniversalEmbedder.createFromModelPath()

Initializes the Wasm runtime and creates a new UniversalEmbedder based on the path to the model asset.

Signature:

static createFromModelPath(wasmFileset: WasmFileset, modelAssetPath: string): Promise<UniversalEmbedder>;

Parameters

Parameter Type Description
wasmFileset WasmFileset A configuration object that provides the location of the Wasm binary and its loader.
modelAssetPath string The URL or path to the model asset.

Returns:

Promise<UniversalEmbedder>

UniversalEmbedder.createFromOptions()

Initializes the Wasm runtime and creates a new UniversalEmbedder from the provided options.

Signature:

static createFromOptions(wasmFileset: WasmFileset, options: UniversalEmbedderOptions): Promise<UniversalEmbedder>;

Parameters

Parameter Type Description
wasmFileset WasmFileset A configuration object that provides the location of the Wasm binary and its loader.
options UniversalEmbedderOptions Options for the UniversalEmbedder.

Returns:

Promise<UniversalEmbedder>

UniversalEmbedder.createWebGpuDevice()

Requests a WebGPU GPUDevice with the required shader-f16 and storage buffer limits enabled for GPU-accelerated embedding inference.

Signature:

static createWebGpuDevice(): Promise<GPUDevice>;

Returns:

Promise<GPUDevice>

UniversalEmbedder.embedAudio()

Computes an embedding for a mono PCM audio clip.

Signature:

embedAudio(samples: Float32Array, sampleRate: number): Promise<UniversalEmbedderResult>;

Parameters

Parameter Type Description
samples Float32Array Mono PCM audio samples in the range [-1.0, 1.0].
sampleRate number Sample rate of the audio samples in Hz.

Returns:

Promise<UniversalEmbedderResult>

UniversalEmbedder.embedContent()

Computes a joint embedding for a sequence of multimodal TaskPart items.

Signature:

embedContent(parts: TaskPart[]): Promise<UniversalEmbedderResult>;

Parameters

Parameter Type Description
parts TaskPart[] Array of text, image, or audio content parts.

Returns:

Promise<UniversalEmbedderResult>

UniversalEmbedder.embedImage()

Computes an embedding for an image.

Signature:

embedImage(image: ImageSource): Promise<UniversalEmbedderResult>;

Parameters

Parameter Type Description
image ImageSource Image element, bitmap, canvas, or ImageData to embed.

Returns:

Promise<UniversalEmbedderResult>

UniversalEmbedder.embedText()

Computes an embedding for a text string.

Signature:

embedText(text: string): Promise<UniversalEmbedderResult>;

Parameters

Parameter Type Description
text string Input text string to embed.

Returns:

Promise<UniversalEmbedderResult>

UniversalEmbedder.getProvider()

Returns an EmbeddingProvider adapter that can be registered with SemanticRetrieverComponents.addProvider().

Signature:

getProvider(): EmbeddingProvider;

Returns:

EmbeddingProvider