> ISPO SDK documentation. [HTML](https://ispo.ai/docs/interfaces/core.AiRequest.html) · [Documentation index](https://ispo.ai/docs/llms.txt)

# Interface AiRequest

The task-oriented request authored by a project.

```typescript
interface AiRequest {
    maxOutputTokens?: number;
    messages: { content: string; role: "system" | "user" | "assistant" }[];
    sampling?: { seed?: number; temperature?: number; topP?: number };
    signal?: AbortSignal;
}
```

Types: [maxOutputTokens](#maxoutputtokens), [messages](#messages), [sampling](#sampling), [signal](#signal)

#### Hierarchy

*   [AiInput](../types/core.Supporting_types.AiInput.md)
    *   AiRequest

##### Index

### <a id="properties"></a>Properties

[maxOutputTokens?](#maxoutputtokens) [messages](#messages) [sampling?](#sampling) [signal?](#signal)

## <a id="properties-1"></a>Properties

### <a id="maxoutputtokens"></a>`Optional`maxOutputTokens

```typescript
maxOutputTokens?: number = ...
```

Inherited from AiInput.maxOutputTokens

### <a id="messages"></a>messages

```typescript
messages: { content: string; role: "system" | "user" | "assistant" }[] = ...
```

Inherited from AiInput.messages

### <a id="sampling"></a>`Optional`sampling

```typescript
sampling?: { seed?: number; temperature?: number; topP?: number } = ...
```

Inherited from AiInput.sampling

### <a id="signal"></a>`Optional` `Readonly`signal

```typescript
signal?: AbortSignal
```

Local SDK-only cancellation. It is never serialized onto the project wire.
