---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/embeddings/transformers_js/types/interfaces/TransformersJsEmbeddingsAdapterOptions.md
description: Constructor options for the transformers.js Embeddings adapter.
---

# Interface: TransformersJsEmbeddingsAdapterOptions

Defined in: [src/batteries/embeddings/transformers\_js/types.ts:96](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/transformers_js/types.ts#L96)

Constructor options for the transformers.js Embeddings adapter.

## Remarks

Extends the shared [BaseEmbeddingsAdapterOptions](../../../openai/types/interfaces/BaseEmbeddingsAdapterOptions.md) (required `model` + prefix options) with
transformers.js pipeline fields. `model` accepts any ONNX feature-extraction model id (e.g.
`onnx-community/all-MiniLM-L6-v2-ONNX`) — there is no default.

## Extends

* [`BaseEmbeddingsAdapterOptions`](../../../openai/types/interfaces/BaseEmbeddingsAdapterOptions.md).[`BatteryLifecycleHooks`](../../../../llm/transformers_js/helpers/interfaces/BatteryLifecycleHooks.md)

## Properties

| Property                                               | Type                                                                                                                                                             | Description                                                                                                                                                                                                                                                                                                                                                                                       | Inherited from                                                                                                                                                                                                             | Defined in                                                                                                                                                          |
| ------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|  `createPipeline?` | [`CreateTransformersJsEmbeddingsPipeline`](../type-aliases/CreateTransformersJsEmbeddingsPipeline.md)                                                            | Override the pipeline factory. Default: `pipeline('feature-extraction', …)` via dynamic import.                                                                                                                                                                                                                                                                                                   | -                                                                                                                                                                                                                          | [src/batteries/embeddings/transformers\_js/types.ts:101](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/transformers_js/types.ts#L101) |
|  `device?`                 | | `"auto"` | `"gpu"` | `"cpu"` | `"wasm"` | `"webgpu"` | `"cuda"` | `"dml"` | `"coreml"` | `"webnn"` | `"webnn-npu"` | `"webnn-gpu"` | `"webnn-cpu"` | Inference device forwarded to `pipeline()`. Default: transformers.js environment default.                                                                                                                                                                                                                                                                                                         | -                                                                                                                                                                                                                          | [src/batteries/embeddings/transformers\_js/types.ts:103](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/transformers_js/types.ts#L103) |
|  `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)                     |
|  `dtype?`                   | | `"auto"` | `"fp32"` | `"fp16"` | `"q8"` | `"int8"` | `"uint8"` | `"q4"` | `"bnb4"` | `"q4f16"` | `"q2"` | `"q2f16"` | `"q1"` | `"q1f16"`          | Quantization/precision dtype forwarded to `pipeline()`.                                                                                                                                                                                                                                                                                                                                           | -                                                                                                                                                                                                                          | [src/batteries/embeddings/transformers\_js/types.ts:105](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/transformers_js/types.ts#L105) |
|  `isAvailable?`       | () => `boolean`                                                                                                                                                  | Override the availability probe. Default: `true` whenever the peer is importable (env-neutral).                                                                                                                                                                                                                                                                                                   | -                                                                                                                                                                                                                          | [src/batteries/embeddings/transformers\_js/types.ts:125](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/transformers_js/types.ts#L125) |
|  `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)                     |
|  `modelSource?`       | [`TransformersJsEmbeddingsModelSource`](../type-aliases/TransformersJsEmbeddingsModelSource.md)                                                                  | Custom model-source resolver (OPFS / separate source / bundled bytes). When set, model files load through it behind the global-`env` mutex; otherwise straight from HF (unchanged). See [TransformersJsEmbeddingsModelSource](../type-aliases/TransformersJsEmbeddingsModelSource.md).                                                                                                            | -                                                                                                                                                                                                                          | [src/batteries/embeddings/transformers\_js/types.ts:121](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/transformers_js/types.ts#L121) |
|  `normalize?`           | `boolean`                                                                                                                                                        | L2-normalise the embeddings (default `true`).                                                                                                                                                                                                                                                                                                                                                     | -                                                                                                                                                                                                                          | [src/batteries/embeddings/transformers\_js/types.ts:109](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/transformers_js/types.ts#L109) |
|  `onCompiling?`       | [`BatteryLifecycleCallback`](../../../../llm/transformers_js/helpers/type-aliases/BatteryLifecycleCallback.md)                                                   | Engine/graph/shader compilation after download, before the first token. A COARSE marker: the on-device runtimes (LiteRT `Engine.create`, transformers.js `from_pretrained`) expose the boundary — download done, opaque WebGPU/WASM graph build about to run — but NOT a progress stream, so `progress` is usually absent. Often the slowest part of a cold start; without this it was invisible. | [`BatteryLifecycleHooks`](../../../../llm/transformers_js/helpers/interfaces/BatteryLifecycleHooks.md).[`onCompiling`](../../../../llm/transformers_js/helpers/interfaces/BatteryLifecycleHooks.md#property-oncompiling)   | [src/batteries/llm/chat\_common/lifecycle.ts:95](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/llm/chat_common/lifecycle.ts#L95)                 |
|  `onComplete?`         | [`BatteryLifecycleCallback`](../../../../llm/transformers_js/helpers/type-aliases/BatteryLifecycleCallback.md)                                                   | After the turn's output is parsed + persisted, before `ack` (fires per turn).                                                                                                                                                                                                                                                                                                                     | [`BatteryLifecycleHooks`](../../../../llm/transformers_js/helpers/interfaces/BatteryLifecycleHooks.md).[`onComplete`](../../../../llm/transformers_js/helpers/interfaces/BatteryLifecycleHooks.md#property-oncomplete)     | [src/batteries/llm/chat\_common/lifecycle.ts:105](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/llm/chat_common/lifecycle.ts#L105)               |
|  `onError?`               | [`BatteryLifecycleCallback`](../../../../llm/transformers_js/helpers/type-aliases/BatteryLifecycleCallback.md)                                                   | A load or generation failure (paired with `nack`).                                                                                                                                                                                                                                                                                                                                                | [`BatteryLifecycleHooks`](../../../../llm/transformers_js/helpers/interfaces/BatteryLifecycleHooks.md).[`onError`](../../../../llm/transformers_js/helpers/interfaces/BatteryLifecycleHooks.md#property-onerror)           | [src/batteries/llm/chat\_common/lifecycle.ts:107](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/llm/chat_common/lifecycle.ts#L107)               |
|  `onGenerating?`     | [`BatteryLifecycleCallback`](../../../../llm/transformers_js/helpers/type-aliases/BatteryLifecycleCallback.md)                                                   | The generate call is in progress (fires per turn). Fires once immediately before the provider call for most engines; engines that stream per-step generation progress (e.g. a diffusion denoise loop) fire it REPEATEDLY during generation, each carrying a `progress` in `0..1`.                                                                                                                 | [`BatteryLifecycleHooks`](../../../../llm/transformers_js/helpers/interfaces/BatteryLifecycleHooks.md).[`onGenerating`](../../../../llm/transformers_js/helpers/interfaces/BatteryLifecycleHooks.md#property-ongenerating) | [src/batteries/llm/chat\_common/lifecycle.ts:103](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/llm/chat_common/lifecycle.ts#L103)               |
|  `onInitProgress?` | `ProgressCallback`                                                                                                                                               | Called with model-load progress reports while weights download/compile.                                                                                                                                                                                                                                                                                                                           | -                                                                                                                                                                                                                          | [src/batteries/embeddings/transformers\_js/types.ts:123](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/transformers_js/types.ts#L123) |
|  `onLifecycle?`       | [`BatteryLifecycleCallback`](../../../../llm/transformers_js/helpers/type-aliases/BatteryLifecycleCallback.md)                                                   | Fires on EVERY phase transition (the firehose).                                                                                                                                                                                                                                                                                                                                                   | [`BatteryLifecycleHooks`](../../../../llm/transformers_js/helpers/interfaces/BatteryLifecycleHooks.md).[`onLifecycle`](../../../../llm/transformers_js/helpers/interfaces/BatteryLifecycleHooks.md#property-onlifecycle)   | [src/batteries/llm/chat\_common/lifecycle.ts:86](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/llm/chat_common/lifecycle.ts#L86)                 |
|  `onLoading?`           | [`BatteryLifecycleCallback`](../../../../llm/transformers_js/helpers/type-aliases/BatteryLifecycleCallback.md)                                                   | Weights/runtime loading — may fire repeatedly with `progress` as the provider reports it.                                                                                                                                                                                                                                                                                                         | [`BatteryLifecycleHooks`](../../../../llm/transformers_js/helpers/interfaces/BatteryLifecycleHooks.md).[`onLoading`](../../../../llm/transformers_js/helpers/interfaces/BatteryLifecycleHooks.md#property-onloading)       | [src/batteries/llm/chat\_common/lifecycle.ts:88](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/llm/chat_common/lifecycle.ts#L88)                 |
|  `onReady?`               | [`BatteryLifecycleCallback`](../../../../llm/transformers_js/helpers/type-aliases/BatteryLifecycleCallback.md)                                                   | Engine/pipeline resolved and cached, before the first generation.                                                                                                                                                                                                                                                                                                                                 | [`BatteryLifecycleHooks`](../../../../llm/transformers_js/helpers/interfaces/BatteryLifecycleHooks.md).[`onReady`](../../../../llm/transformers_js/helpers/interfaces/BatteryLifecycleHooks.md#property-onready)           | [src/batteries/llm/chat\_common/lifecycle.ts:97](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/llm/chat_common/lifecycle.ts#L97)                 |
|  `pipeline?`             | `FeatureExtractionPipeline`                                                                                                                                      | A pre-built pipeline. When provided, the battery uses it directly and skips lazy creation.                                                                                                                                                                                                                                                                                                        | -                                                                                                                                                                                                                          | [src/batteries/embeddings/transformers\_js/types.ts:99](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/transformers_js/types.ts#L99)   |
|  `pooling?`               | [`TransformersJsPooling`](../type-aliases/TransformersJsPooling.md)                                                                                              | Pooling method (default `'mean'`).                                                                                                                                                                                                                                                                                                                                                                | -                                                                                                                                                                                                                          | [src/batteries/embeddings/transformers\_js/types.ts:107](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/transformers_js/types.ts#L107) |
|  `poolingOwner?`     | [`TransformersJsPoolingOwner`](../type-aliases/TransformersJsPoolingOwner.md)                                                                                    | Who pools + normalizes (default `'engine'` — today's behavior, byte-identical). Set `'battery'` to pool + L2-normalize in deterministic shared JS for tighter node↔browser parity. See [TransformersJsPoolingOwner](../type-aliases/TransformersJsPoolingOwner.md).                                                                                                                               | -                                                                                                                                                                                                                          | [src/batteries/embeddings/transformers\_js/types.ts:115](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/embeddings/transformers_js/types.ts#L115) |
|  `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)                     |
