---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/embeddings/openai/adapter/classes/OpenAIEmbeddingsAdapter.md
description: Embeddings adapter for the OpenAI `/v1/embeddings` wire shape.
---

# Class: OpenAIEmbeddingsAdapter

Defined in: [batteries/embeddings/openai/adapter.ts:47](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/batteries/embeddings/openai/adapter.ts#L47)

Embeddings adapter for the OpenAI `/v1/embeddings` wire shape.

## Remarks

Reusable: construct once, call [OpenAIEmbeddingsAdapter.embed](#embed) / [embedMany](#embedmany) as many
times as needed. `embedMany` issues one request per call (OpenAI embeds a batch in a single
round-trip); `embed` is sugar over `embedMany([text])`.

## Constructors

### Constructor

```ts
new OpenAIEmbeddingsAdapter(options: unknown): OpenAIEmbeddingsAdapter;
```

Defined in: [batteries/embeddings/openai/adapter.ts:64](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/batteries/embeddings/openai/adapter.ts#L64)

#### Parameters

| Parameter | Type      | Description                             |
| --------- | --------- | --------------------------------------- |
| `options` | `unknown` | Constructor options. Validated eagerly. |

#### Returns

`OpenAIEmbeddingsAdapter`

#### Throws

[@nhtio/adk/batteries/embeddings/openai/exceptions!E\_INVALID\_OPENAI\_EMBEDDINGS\_OPTIONS](../../exceptions/variables/E_INVALID_OPENAI_EMBEDDINGS_OPTIONS.md) when `options` does not satisfy
[@nhtio/adk/batteries/embeddings/openai/validation!openAIEmbeddingsOptionsSchema](../../validation/variables/openAIEmbeddingsOptionsSchema.md) (e.g. missing `model`).

## Accessors

### dimensions

#### Get Signature

```ts
get dimensions(): number | undefined;
```

Defined in: [batteries/embeddings/openai/adapter.ts:69](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/batteries/embeddings/openai/adapter.ts#L69)

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/openai/adapter.ts:100](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/batteries/embeddings/openai/adapter.ts#L100)

Embeds a single string.

#### Parameters

| Parameter | Type                                                     | Description                |
| --------- | -------------------------------------------------------- | -------------------------- |
| `text`    | `string`                                                 | The input text.            |
| `opts?`   | [`EmbedOptions`](../../types/interfaces/EmbedOptions.md) | Per-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/openai/adapter.ts:115](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/batteries/embeddings/openai/adapter.ts#L115)

Embeds a batch of strings in a single request.

#### Parameters

| Parameter | Type                                                     | Description                                                |
| --------- | -------------------------------------------------------- | ---------------------------------------------------------- |
| `texts`   | `string`\[]                                               | The input texts.                                           |
| `opts?`   | [`EmbedOptions`](../../types/interfaces/EmbedOptions.md) | Per-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/openai/exceptions!E\_OPENAI\_EMBEDDINGS\_HTTP\_ERROR](../../exceptions/variables/E_OPENAI_EMBEDDINGS_HTTP_ERROR.md) on a non-2xx response or transport failure.

#### Throws

[@nhtio/adk/batteries/embeddings/openai/exceptions!E\_OPENAI\_EMBEDDINGS\_REQUEST\_TIMEOUT](../../exceptions/variables/E_OPENAI_EMBEDDINGS_REQUEST_TIMEOUT.md) when the handshake exceeds `requestTimeoutMs`.

#### Throws

[@nhtio/adk/batteries/embeddings/openai/exceptions!E\_OPENAI\_EMBEDDINGS\_MALFORMED\_RESPONSE](../../exceptions/variables/E_OPENAI_EMBEDDINGS_MALFORMED_RESPONSE.md) when the 2xx body is not the expected shape.

***

### isAvailable()

```ts
isAvailable(): boolean;
```

Defined in: [batteries/embeddings/openai/adapter.ts:74](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/batteries/embeddings/openai/adapter.ts#L74)

See [OpenAIEmbeddingsAdapter.isAvailable](#isavailable-1). Instance alias for surface-parity.

#### Returns

`boolean`

***

### preload()

```ts
preload(): Promise<void>;
```

Defined in: [batteries/embeddings/openai/adapter.ts:82](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/batteries/embeddings/openai/adapter.ts#L82)

No-op warm-up. The OpenAI battery has no engine to preload; present for surface-parity with
the WebLLM battery so callers can treat the two interchangeably.

#### Returns

`Promise`<`void`>

***

### reset()

```ts
reset(): void;
```

Defined in: [batteries/embeddings/openai/adapter.ts:89](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/batteries/embeddings/openai/adapter.ts#L89)

No-op state reset. Present for surface-parity with the WebLLM battery.

#### Returns

`void`

***

### isAvailable()

```ts
static isAvailable(): boolean;
```

Defined in: [batteries/embeddings/openai/adapter.ts:55](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/batteries/embeddings/openai/adapter.ts#L55)

Whether this battery can run in the current environment. For the HTTP-backed OpenAI battery
this is always `true` (a `fetch` is always resolvable); present for surface-parity with the
WebLLM battery's WebGPU gate.

#### Returns

`boolean`
