> 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 Category Profile

> Category-specific profile data.

Generated from `cargo doc --no-deps -p nemo-relay -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 />

Category-specific profile data.

Unknown wire keys are preserved in `extra`. LLM annotations are serialized under `category_profile` when a codec captures them.

## Fields

### `model_name: Option<String>`

Normalized model identifier for LLM events.

### `tool_call_id: Option<String>`

LLM-provider correlation ID for Tool events.

### `subtype: Option<String>`

Vendor subtype required when `category == "custom"`.

### `extra: BTreeMap<String, Value>`

Unknown category-profile keys preserved from newer producers.

### `annotated_request: Option<Arc<AnnotatedLlmRequest>>`

Normalized request annotation for LLM start events.

### `annotated_response: Option<Arc<AnnotatedLlmResponse>>`

Normalized response annotation for LLM end events.

## Implementations

### `impl CategoryProfile`

<pre />

#### `builder`

<pre />

Create a builder for building `CategoryProfile`. On the builder, call `.model_name(...)`(optional), `.tool_call_id(...)`(optional), `.subtype(...)`(optional), `.extra(...)`(optional), `.annotated_request(...)`(optional), `.annotated_response(...)`(optional) to set the values of the fields. Finally, call `.build()` to create the instance of `CategoryProfile`.

### `impl CategoryProfile`

<pre />

#### `is_wire_empty`

<pre />

Return true when the profile has no wire-serialized fields.

##### Returns

`true` when no profile fields would be serialized on the wire.

## Trait Implementations

### `impl Clone for CategoryProfile`

<pre />

#### `clone`

<pre />

#### `clone_from`

<pre />

### `impl Debug for CategoryProfile`

<pre />

#### `fmt`

<pre />

### `impl Default for CategoryProfile`

<pre />

#### `default`

<pre />

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

<pre />

#### `deserialize`

<pre />

### `impl PartialEq for CategoryProfile`

<pre />

#### `eq`

<pre />

#### `ne`

<pre />

### `impl Serialize for CategoryProfile`

<pre />

#### `serialize`

<pre />

### `impl StructuralPartialEq for CategoryProfile`

<pre />