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

# nemoguardrails.rails.llm.options

Generation options give more control over the generation and the result.

For example, to run only the input rails::

# Since everything is enabled by default, we disable explicitly the others

options = \{
"rails": \{
"output": False,
"dialog": False,
"retrieval": False
}
}
messages = \[\{
"role": "user",
"content": "Am I allowed to say this?"
}]

rails.generate(messages=messages, options=options)

To invoke only some specific input/output rails:

rails.generate(messages=messages, options=\{
"rails": \{
"input": \["check jailbreak"],
"output": \["output moderation v2"]
}
})

To provide additional parameters to the main LLM call:

rails.generate(messages=messages, options=\{
"llm\_params": \{
"temperature": 0.5
}
})

To return additional information from the generation (i.e., context variables):

# This will include the relevant chunks in the returned response, as part

# of the `output_data` field.

rails.generate(messages=messages, options=\{
"output\_vars": \["relevant\_chunks"]
})

To skip enforcing the rails, and only inform the user if they were triggered:

rails.generate(messages=messages, options=\{
"enforce": False
})

# \{..., log: \{"triggered\_rails": \{"type": "input", "name": "check jailbreak"}}}

To get more details on the LLM calls that were executed, including the raw responses:

rails.generate(messages=messages, options=\{
"log": \{
"llm\_calls": True
}
})

# \{..., log: \{"llm\_calls": \[...]}}

## Module Contents

### Classes

| Name                                                                                 | Description                                                                |
| ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------- |
| [`ActivatedRail`](#nemoguardrails-rails-llm-options-ActivatedRail)                   | A rail that was activated during the generation.                           |
| [`ExecutedAction`](#nemoguardrails-rails-llm-options-ExecutedAction)                 | Information about an action that was executed.                             |
| [`GenerationLog`](#nemoguardrails-rails-llm-options-GenerationLog)                   | Contains additional logging information associated with a generation call. |
| [`GenerationLogOptions`](#nemoguardrails-rails-llm-options-GenerationLogOptions)     | Options for what should be included in the generation log.                 |
| [`GenerationOptions`](#nemoguardrails-rails-llm-options-GenerationOptions)           | A set of options that should be applied during a generation.               |
| [`GenerationRailsOptions`](#nemoguardrails-rails-llm-options-GenerationRailsOptions) | Options for what rails should be used during the generation.               |
| [`GenerationResponse`](#nemoguardrails-rails-llm-options-GenerationResponse)         | -                                                                          |
| [`GenerationStats`](#nemoguardrails-rails-llm-options-GenerationStats)               | General stats about the generation.                                        |
| [`RailStatus`](#nemoguardrails-rails-llm-options-RailStatus)                         | -                                                                          |
| [`RailType`](#nemoguardrails-rails-llm-options-RailType)                             | -                                                                          |
| [`RailsResult`](#nemoguardrails-rails-llm-options-RailsResult)                       | -                                                                          |

### API

```python
class nemoguardrails.rails.llm.options.ActivatedRail()
```

**Bases:** `BaseModel`

A rail that was activated during the generation.

```python
class nemoguardrails.rails.llm.options.ExecutedAction()
```

**Bases:** `BaseModel`

Information about an action that was executed.

```python
class nemoguardrails.rails.llm.options.GenerationLog()
```

**Bases:** `BaseModel`

Contains additional logging information associated with a generation call.

```python
nemoguardrails.rails.llm.options.GenerationLog.print_summary()
```

```python
class nemoguardrails.rails.llm.options.GenerationLogOptions()
```

**Bases:** `BaseModel`

Options for what should be included in the generation log.

```python
class nemoguardrails.rails.llm.options.GenerationOptions()
```

**Bases:** `BaseModel`

A set of options that should be applied during a generation.

The GenerationOptions control various things such as what rails are enabled,
additional parameters for the main LLM, whether the rails should be enforced or
ran in parallel, what to be included in the generation log, etc.

```python
nemoguardrails.rails.llm.options.GenerationOptions.check_fields(
    values
)
```

```python
class nemoguardrails.rails.llm.options.GenerationRailsOptions()
```

**Bases:** `BaseModel`

Options for what rails should be used during the generation.

```python
class nemoguardrails.rails.llm.options.GenerationResponse()
```

**Bases:** `BaseModel`

```python
class nemoguardrails.rails.llm.options.GenerationStats()
```

**Bases:** `BaseModel`

General stats about the generation.

```python
class nemoguardrails.rails.llm.options.RailStatus
```

**Bases:** `enum.Enum`

```python
class nemoguardrails.rails.llm.options.RailType
```

**Bases:** `enum.Enum`

```python
class nemoguardrails.rails.llm.options.RailsResult()
```

**Bases:** `BaseModel`