Skip to content
2 min read · 364 words

Class: WebLLMEmbeddingsAdapter

Defined in: 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: 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: 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: 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: 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: batteries/embeddings/webllm/adapter.ts:87

Whether WebGPU is available, honoring an injected isWebGPUAvailable probe.

Returns

boolean


preload()

ts
preload(): Promise<void>;

Defined in: 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: 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: batteries/embeddings/webllm/adapter.ts:63

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

Returns

boolean