---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/embeddings/transformers_js/pooling/variables/defaultPoolAndNormalize.md
description: 'Default [`poolAndNormalize`](https://adk.nht.io/api/@nhtio/adk/batteries/embeddings/transformers_js/pooling/functions/poolAndNormalize).'
---

# Variable: defaultPoolAndNormalize

```ts
const defaultPoolAndNormalize: (
  tokenStates: TokenStates3D,
  pooling: string,
  normalize: boolean,
) => Pooled2D = poolAndNormalize;
```

Defined in: [src/batteries/embeddings/transformers\_js/pooling.ts:99](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/embeddings/transformers_js/pooling.ts#L99)

Default [poolAndNormalize](../functions/poolAndNormalize.md).

Pool raw `[batch, seq, hidden]` token states into `[batch, hidden]` vectors and optionally
L2-normalize — the deterministic battery-owned path (`poolingOwner: 'battery'`).

## Parameters

| Parameter     | Type                                                | Description                                                  |
| ------------- | --------------------------------------------------- | ------------------------------------------------------------ |
| `tokenStates` | [`TokenStates3D`](../type-aliases/TokenStates3D.md) | The `[batch, seq, hidden]` raw states from `pooling:'none'`. |
| `pooling`     | `string`                                            | The pooling strategy (`'mean'` default).                     |
| `normalize`   | `boolean`                                           | Whether to L2-normalize each pooled vector (default `true`). |

## Returns

[`Pooled2D`](../type-aliases/Pooled2D.md)

One pooled (and optionally normalized) vector per batch row.
