> This page is for NeMo Relay, version dev.
> For other versions, use one of these documentation indexes:
> - Latest (v0.11.1) (default): https://docs.nvidia.com/nemo/relay/latest/llms.txt
> - dev: https://docs.nvidia.com/nemo/relay/dev/llms.txt
> - v0.11.1: https://docs.nvidia.com/nemo/relay/v0.11.1/llms.txt
> - v0.10.4: https://docs.nvidia.com/nemo/relay/v0.10.4/llms.txt
> - v0.9.4: https://docs.nvidia.com/nemo/relay/v0.9.4/llms.txt
> - v0.8.4: https://docs.nvidia.com/nemo/relay/v0.8.4/llms.txt
> - v0.7.3: https://docs.nvidia.com/nemo/relay/v0.7.3/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/relay/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# Struct LlmHandle

> Runtime-owned handle identifying an active or completed LLM call.

Generated from `cargo doc --no-deps -p nemo-relay-builtins -p nemo-relay-diagnostics -p nemo-relay-logging -p nemo-relay-plugin-host -p nemo-relay-codecs -p nemo-relay -p nemo-relay-runtime -p nemo-relay-model-pricing -p nemo-relay-resource-metrics -p nemo-relay-observability -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker`.

<pre />

Runtime-owned handle identifying an active or completed LLM call.

## Fields

### `uuid: Uuid`

Unique LLM-call identifier.

### `started_at: DateTime<Utc>`

Timestamp captured when the LLM handle was created.

### `name: String`

Provider or logical call name recorded on lifecycle events.

Gateway-managed provider calls use provider route names such as `anthropic.messages`; event normalization may reuse those route names as codec hints when raw request shapes overlap across providers.

### `data: Option<Value>`

Optional application payload stored on the handle.

### `metadata: Option<Value>`

Optional metadata attached to the LLM span.

### `attributes: LlmAttributes`

LLM behavior flags.

### `parent_uuid: Option<Uuid>`

UUID of the parent scope, if any.

### `model_name: Option<String>`

Optional normalized model name for observability.

### `optimization_recorder: LlmOptimizationRecorder`

Bounded, in-memory optimization evidence recorder for this call.

## Implementations

### `impl LlmHandle`

<pre />

#### `builder`

<pre />

Create a builder for building `LlmHandle`. On the builder, call `.uuid(...)`(optional), `.started_at(...)`(optional), `.name(...)`, `.data(...)`(optional), `.metadata(...)`(optional), `.attributes(...)`(optional), `.parent_uuid(...)`(optional), `.model_name(...)`(optional), `.optimization_recorder(...)`(optional) to set the values of the fields. Finally, call `.build()` to create the instance of `LlmHandle`.

## Trait Implementations

### `impl Clone for LlmHandle`

<pre />

#### `clone`

<pre />

#### `clone_from`

<pre />

### `impl Debug for LlmHandle`

<pre />

#### `fmt`

<pre />

### `impl<'de> Deserialize<'de> for LlmHandle`

<pre />

#### `deserialize`

<pre />

### `impl Serialize for LlmHandle`

<pre />

#### `serialize`

<pre />