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