---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/embeddings/webllm/types/interfaces/WebLLMEmbeddingsAdapterOptions.md
description: >-
  Constructor options for {@link
  @nhtio/adk/batteries/embeddings/webllm/adapter!WebLLMEmbeddingsAdapter}.
---

# Interface: WebLLMEmbeddingsAdapterOptions

Defined in: [src/batteries/embeddings/webllm/types.ts:52](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/webllm/types.ts#L52)

Constructor options for [@nhtio/adk/batteries/embeddings/webllm/adapter!WebLLMEmbeddingsAdapter](../../adapter/classes/WebLLMEmbeddingsAdapter.md).

## Remarks

Extends the shared [BaseEmbeddingsAdapterOptions](../../../openai/types/interfaces/BaseEmbeddingsAdapterOptions.md) (carrying the required `model` and the
shared prefix options) with WebGPU/MLC engine fields. `model` accepts any MLC embedding model id
(e.g. `snowflake-arctic-embed-m-q0f32-MLC`) — there is no default; the caller names it.

## Extends

* [`BaseEmbeddingsAdapterOptions`](../../../openai/types/interfaces/BaseEmbeddingsAdapterOptions.md)

## Properties

| Property                                                     | Type                                                                              | Description                                                                                                                                                                                                 | Inherited from                                                                                                                                                                                                  | Defined in                                                                                                                                      |
| ------------------------------------------------------------ | --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
|  `chatOptions?`             | `ChatOptions` | `ChatOptions`\[]                                                  | Passed to `CreateMLCEngine` as chat options (model-specific knobs).                                                                                                                                         | -                                                                                                                                                                                                               | [src/batteries/embeddings/webllm/types.ts:60](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/webllm/types.ts#L60) |
|  `createEngine?`           | [`CreateWebLLMEmbeddingsEngine`](../type-aliases/CreateWebLLMEmbeddingsEngine.md) | Override the engine factory. Default: `CreateMLCEngine` via a lazy dynamic import.                                                                                                                          | -                                                                                                                                                                                                               | [src/batteries/embeddings/webllm/types.ts:56](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/webllm/types.ts#L56) |
|  `dimensions?`               | `number`                                                                          | Declared output dimensionality, surfaced via `adapter.dimensions`. Optional metadata for callers that pre-allocate buffers; the battery does not enforce it against responses.                              | [`BaseEmbeddingsAdapterOptions`](../../../openai/types/interfaces/BaseEmbeddingsAdapterOptions.md).[`dimensions`](../../../openai/types/interfaces/BaseEmbeddingsAdapterOptions.md#property-dimensions)         | [src/batteries/embeddings/openai/types.ts:84](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/openai/types.ts#L84) |
|  `documentPrefix?`       | `string`                                                                          | Instruction prefix prepended to inputs embedded with `kind: 'document'`. Unset → no prefix. Most asymmetric models (including Arctic) use no document prefix; exposed for symmetry and the models that do.  | [`BaseEmbeddingsAdapterOptions`](../../../openai/types/interfaces/BaseEmbeddingsAdapterOptions.md).[`documentPrefix`](../../../openai/types/interfaces/BaseEmbeddingsAdapterOptions.md#property-documentprefix) | [src/batteries/embeddings/openai/types.ts:79](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/openai/types.ts#L79) |
|  `engine?`                       | `MLCEngineInterface`                                                              | A pre-loaded engine. When provided, the battery uses it directly and skips lazy creation.                                                                                                                   | -                                                                                                                                                                                                               | [src/batteries/embeddings/webllm/types.ts:54](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/webllm/types.ts#L54) |
|  `engineConfig?`           | `MLCEngineConfig`                                                                 | Passed to `CreateMLCEngine` as the engine config (app config, cache, log level, etc.).                                                                                                                      | -                                                                                                                                                                                                               | [src/batteries/embeddings/webllm/types.ts:58](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/webllm/types.ts#L58) |
|  `isWebGPUAvailable?` | () => `boolean`                                                                   | Override the WebGPU availability probe. Default: checks `navigator.gpu`.                                                                                                                                    | -                                                                                                                                                                                                               | [src/batteries/embeddings/webllm/types.ts:64](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/webllm/types.ts#L64) |
|  `model`                          | `string`                                                                          | Model id to embed with. **Required, no default.** For OpenAI this is e.g. `text-embedding-3-small`; for WebLLM it is an MLC embedding model id (e.g. `snowflake-arctic-embed-m-q0f32-MLC`).                 | [`BaseEmbeddingsAdapterOptions`](../../../openai/types/interfaces/BaseEmbeddingsAdapterOptions.md).[`model`](../../../openai/types/interfaces/BaseEmbeddingsAdapterOptions.md#property-model)                   | [src/batteries/embeddings/openai/types.ts:67](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/openai/types.ts#L67) |
|  `onInitProgress?`       | (`report`: `InitProgressReport`) => `void`                                        | Called with load-progress reports while weights download/compile.                                                                                                                                           | -                                                                                                                                                                                                               | [src/batteries/embeddings/webllm/types.ts:62](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/webllm/types.ts#L62) |
|  `queryPrefix?`             | `string`                                                                          | Instruction prefix prepended to inputs embedded with `kind: 'query'`. Unset → no prefix. For Snowflake Arctic Embed, the documented value is `'Represent this sentence for searching relevant passages: '`. | [`BaseEmbeddingsAdapterOptions`](../../../openai/types/interfaces/BaseEmbeddingsAdapterOptions.md).[`queryPrefix`](../../../openai/types/interfaces/BaseEmbeddingsAdapterOptions.md#property-queryprefix)       | [src/batteries/embeddings/openai/types.ts:73](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/openai/types.ts#L73) |
