Skip to content
2 min read · 364 words

Class: WebLLMEmbeddingsAdapter ​

Defined in: src/batteries/embeddings/webllm/adapter.ts:55

Embeddings adapter for WebLLM's in-process embeddings API.

Remarks ​

Reusable: construct once, call WebLLMEmbeddingsAdapter.embed / embedMany as many times as needed. The engine is resolved lazily on first use (or via preload) and cached with single-flight semantics so concurrent calls share one load.

Constructors ​

Constructor ​

ts
new WebLLMEmbeddingsAdapter(options: unknown): WebLLMEmbeddingsAdapter;

Defined in: src/batteries/embeddings/webllm/adapter.ts:76

Parameters ​

ParameterTypeDescription
optionsunknownConstructor options. Validated eagerly.

Returns ​

WebLLMEmbeddingsAdapter

Throws ​

@nhtio/adk/batteries/embeddings/webllm/exceptions!E_INVALID_WEBLLM_EMBEDDINGS_OPTIONS when options does not satisfy @nhtio/adk/batteries/embeddings/webllm/validation!webLLMEmbeddingsOptionsSchema (e.g. missing model).

Accessors ​

dimensions ​

Get Signature ​

ts
get dimensions(): number | undefined;

Defined in: src/batteries/embeddings/webllm/adapter.ts:82

Declared output dimensionality (from options), or undefined if not configured.

Returns ​

number | undefined

Methods ​

embed() ​

ts
embed(text: string, opts?: EmbedOptions): Promise<number[]>;

Defined in: src/batteries/embeddings/webllm/adapter.ts:142

Embeds a single string.

Parameters ​

ParameterTypeDescription
textstringThe input text.
opts?EmbedOptionsPer-call options (kind).

Returns ​

Promise<number[]>

The embedding vector as a plain number[].


embedMany() ​

ts
embedMany(texts: string[], opts?: EmbedOptions): Promise<number[][]>;

Defined in: src/batteries/embeddings/webllm/adapter.ts:156

Embeds a batch of strings in a single engine call.

Parameters ​

ParameterTypeDescription
textsstring[]The input texts.
opts?EmbedOptionsPer-call options (kind). Defaults to kind: 'document'.

Returns ​

Promise<number[][]>

One embedding vector per input, in input order, each a plain number[].

Throws ​

@nhtio/adk/batteries/embeddings/webllm/exceptions!E_WEBLLM_EMBEDDINGS_ENGINE_ERROR when the engine call fails or returns a malformed result.


isAvailable() ​

ts
isAvailable(): boolean;

Defined in: src/batteries/embeddings/webllm/adapter.ts:87

Whether WebGPU is available, honoring an injected isWebGPUAvailable probe.

Returns ​

boolean


preload() ​

ts
preload(): Promise<void>;

Defined in: src/batteries/embeddings/webllm/adapter.ts:98

Eagerly loads (and caches) the engine so the first embed call is fast. Idempotent.

Returns ​

Promise<void>

Throws ​

@nhtio/adk/batteries/embeddings/webllm/exceptions!E_INVALID_WEBLLM_EMBEDDINGS_OPTIONS when no WebGPU is available and no engine was injected.

Throws ​

@nhtio/adk/batteries/embeddings/webllm/exceptions!E_WEBLLM_EMBEDDINGS_ENGINE_ERROR when engine creation fails.


reset() ​

ts
reset(): void;

Defined in: src/batteries/embeddings/webllm/adapter.ts:103

Drops the cached engine and in-flight load so the next call reloads.

Returns ​

void


isAvailable() ​

ts
static isAvailable(): boolean;

Defined in: src/batteries/embeddings/webllm/adapter.ts:63

Whether WebGPU — and therefore this battery — is available in the current runtime.

Returns ​

boolean