> This page is for version 0.4.0 · 26.04.
> For other versions, use one of these documentation indexes:
> - Nightly (default): https://docs.nvidia.com/nemo/automodel/nightly/llms.txt
> - Latest: https://docs.nvidia.com/nemo/automodel/latest/llms.txt
> - 0.7.0 · 26.10: https://docs.nvidia.com/nemo/automodel/v0.7/llms.txt
> - 0.5.0 · 26.06: https://docs.nvidia.com/nemo/automodel/v0.5/llms.txt
> - 0.4.0 · 26.04: https://docs.nvidia.com/nemo/automodel/v0.4/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/automodel/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/automodel/_mcp/server.

# nemo_automodel.components.datasets.vlm.conversation

Raw conversation records shared by VLM builders, tokenization, and packing.

## Module Contents

### Classes

| Name                                                                                              | Description                                                       |
| ------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| [`ConversationMessage`](#nemo_automodel-components-datasets-vlm-conversation-ConversationMessage) | A role and its text or structured media content.                  |
| [`ConversationSample`](#nemo_automodel-components-datasets-vlm-conversation-ConversationSample)   | Raw conversation with optional media metadata and token estimate. |

### Data

[`MediaValue`](#nemo_automodel-components-datasets-vlm-conversation-MediaValue)

### API

```python
class nemo_automodel.components.datasets.vlm.conversation.ConversationMessage
```

**Bases:** `typing.TypedDict`

A role and its text or structured media content.

**`content`** `str | list[dict[str, MediaValue]]`

---

**`role`** `str`

---

```python
class nemo_automodel.components.datasets.vlm.conversation.ConversationSample
```

**Bases:** `typing.TypedDict`

Raw conversation with optional media metadata and token estimate.

**`_text_tokens`** `int`

---

**`conversation`** `list[ConversationMessage]`

---

**`mm_inputs_meta`** `dict[str, MediaValue]`

---

```python
nemo_automodel.components.datasets.vlm.conversation.MediaValue: TypeAlias = str | int | float | bool | None | bytes | Image.Image | torch.Tensor | list['Med...
```