<br />

Options to configure the MediaPipe Semantic Decision Maker Task. Note: On Web, `baseOptions.delegate` defaults to `'GPU'` (WebGPU). `.litertlm` containers with external weights (such as EmbeddingGemma 2 and Gemma 4) require WebGPU on Web and do not support `delegate: 'CPU'`. Setting `baseOptions.delegate` to `'CPU'` on Web is only supported for `.task` or inline `.tflite` models (such as Laya).

**Signature:**

    export declare interface DecisionMakerOptions extends TaskRunnerOptions 

## Properties

| Property | Modifiers | Type | Description |
|---|---|---|---|
| [backendType](https://developers.google.com/edge/api/mediapipe/js/tasks-decision.decisionmakeroptions#decisionmakeroptionsbackendtype) |   | number | Backend type (0=AUTO, 1=ENCODER, 2=DIRECT_LOGIT, 3=EMBEDDING). |
| [maxNumTokens](https://developers.google.com/edge/api/mediapipe/js/tasks-decision.decisionmakeroptions#decisionmakeroptionsmaxnumtokens) |   | number | The maximum number of tokens in prompt context. |
| [schema](https://developers.google.com/edge/api/mediapipe/js/tasks-decision.decisionmakeroptions#decisionmakeroptionsschema) |   | ClassifierSchema | Optional session-bound ClassifierSchema for `classify()`. |
| [context](https://developers.google.com/edge/api/mediapipe/js/tasks-decision.decisionmakeroptions#decisionmakeroptionscontext) |   | string | Optional session-level context prepended to question prompts. |
| [expectedInputs](https://developers.google.com/edge/api/mediapipe/js/tasks-decision.decisionmakeroptions#decisionmakeroptionsexpectedinputs) |   | ClassifierExpectedInput\[\] | Optional expected input modalities and languages. |
| [questions](https://developers.google.com/edge/api/mediapipe/js/tasks-decision.decisionmakeroptions#decisionmakeroptionsquestions) |   | ClassifierQuestion\[\] | Optional session-bound questions for `classify()`. |
| [modelAssetSize](https://developers.google.com/edge/api/mediapipe/js/tasks-decision.decisionmakeroptions#decisionmakeroptionsmodelassetsize) |   | number | Optional byte length of `baseOptions.modelAssetBuffer` when provided as a `ReadableStreamDefaultReader`, enabling single-pass zero-copy streaming allocation directly in the Wasm heap. |
| [companionPleAssetPath](https://developers.google.com/edge/api/mediapipe/js/tasks-decision.decisionmakeroptions#decisionmakeroptionscompanionpleassetpath) |   | string | Optional URL or path to a companion per-layer embedder `.tflite` model (e.g. `*_per_layer_embedder.tflite` for Gemma 4 E2B). |
| [companionPleAssetBuffer](https://developers.google.com/edge/api/mediapipe/js/tasks-decision.decisionmakeroptions#decisionmakeroptionscompanionpleassetbuffer) |   | Uint8Array \| ReadableStreamDefaultReader | Optional buffer or stream reader for a companion per-layer embedder `.tflite` model. |
| [companionPleAssetSize](https://developers.google.com/edge/api/mediapipe/js/tasks-decision.decisionmakeroptions#decisionmakeroptionscompanionpleassetsize) |   | number | Optional byte length of `companionPleAssetBuffer` when provided as a `ReadableStreamDefaultReader`. |

## DecisionMakerOptions.backendType {#decisionmakeroptionsbackendtype}

Backend type (0=AUTO, 1=ENCODER, 2=DIRECT_LOGIT, 3=EMBEDDING).

**Signature:**

    backendType?: number;

## DecisionMakerOptions.maxNumTokens {#decisionmakeroptionsmaxnumtokens}

The maximum number of tokens in prompt context.

**Signature:**

    maxNumTokens?: number;

## DecisionMakerOptions.schema {#decisionmakeroptionsschema}

Optional session-bound ClassifierSchema for `classify()`.

**Signature:**

    schema?: ClassifierSchema;

## DecisionMakerOptions.context {#decisionmakeroptionscontext}

Optional session-level context prepended to question prompts.

**Signature:**

    context?: string;

## DecisionMakerOptions.expectedInputs {#decisionmakeroptionsexpectedinputs}

Optional expected input modalities and languages.

**Signature:**

    expectedInputs?: ClassifierExpectedInput[];

## DecisionMakerOptions.questions {#decisionmakeroptionsquestions}

Optional session-bound questions for `classify()`.

**Signature:**

    questions?: ClassifierQuestion[];

## DecisionMakerOptions.modelAssetSize {#decisionmakeroptionsmodelassetsize}

Optional byte length of `baseOptions.modelAssetBuffer` when provided as a `ReadableStreamDefaultReader`, enabling single-pass zero-copy streaming allocation directly in the Wasm heap.

**Signature:**

    modelAssetSize?: number;

## DecisionMakerOptions.companionPleAssetPath {#decisionmakeroptionscompanionpleassetpath}

Optional URL or path to a companion per-layer embedder `.tflite` model (e.g. `*_per_layer_embedder.tflite` for Gemma 4 E2B).

**Signature:**

    companionPleAssetPath?: string;

## DecisionMakerOptions.companionPleAssetBuffer {#decisionmakeroptionscompanionpleassetbuffer}

Optional buffer or stream reader for a companion per-layer embedder `.tflite` model.

**Signature:**

    companionPleAssetBuffer?: Uint8Array | ReadableStreamDefaultReader;

## DecisionMakerOptions.companionPleAssetSize {#decisionmakeroptionscompanionpleassetsize}

Optional byte length of `companionPleAssetBuffer` when provided as a `ReadableStreamDefaultReader`.

**Signature:**

    companionPleAssetSize?: number;