> 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.config

Module for the configuration of rails.

## Module Contents

### Classes

| Name                                                                                                      | Description                                                                          |
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| [`AIDefenseRailConfig`](#nemoguardrails-rails-llm-config-AIDefenseRailConfig)                             | Configuration data for the Cisco AI Defense API                                      |
| [`ActionRails`](#nemoguardrails-rails-llm-config-ActionRails)                                             | Configuration of action rails.                                                       |
| [`AutoAlignOptions`](#nemoguardrails-rails-llm-config-AutoAlignOptions)                                   | List of guardrails that are activated                                                |
| [`AutoAlignRailConfig`](#nemoguardrails-rails-llm-config-AutoAlignRailConfig)                             | Configuration data for the AutoAlign API                                             |
| [`CacheStatsConfig`](#nemoguardrails-rails-llm-config-CacheStatsConfig)                                   | Configuration for cache statistics tracking and logging.                             |
| [`ClavataRailConfig`](#nemoguardrails-rails-llm-config-ClavataRailConfig)                                 | Configuration data for the Clavata API                                               |
| [`ClavataRailOptions`](#nemoguardrails-rails-llm-config-ClavataRailOptions)                               | Configuration data for the Clavata API                                               |
| [`ContentSafetyConfig`](#nemoguardrails-rails-llm-config-ContentSafetyConfig)                             | Configuration data for content safety rails.                                         |
| [`CoreConfig`](#nemoguardrails-rails-llm-config-CoreConfig)                                               | Settings for core internal mechanics.                                                |
| [`CrowdStrikeAIDRRailConfig`](#nemoguardrails-rails-llm-config-CrowdStrikeAIDRRailConfig)                 | Configuration data for the CrowdStrike AIDR API                                      |
| [`DialogRails`](#nemoguardrails-rails-llm-config-DialogRails)                                             | Configuration of topical rails.                                                      |
| [`Document`](#nemoguardrails-rails-llm-config-Document)                                                   | Configuration for documents that should be used for question answering.              |
| [`EmbeddingSearchProvider`](#nemoguardrails-rails-llm-config-EmbeddingSearchProvider)                     | Configuration of a embedding search provider.                                        |
| [`EmbeddingsCacheConfig`](#nemoguardrails-rails-llm-config-EmbeddingsCacheConfig)                         | Configuration for the caching embeddings.                                            |
| [`FactCheckingRailConfig`](#nemoguardrails-rails-llm-config-FactCheckingRailConfig)                       | Configuration data for the fact-checking rail.                                       |
| [`FiddlerGuardrails`](#nemoguardrails-rails-llm-config-FiddlerGuardrails)                                 | Configuration for Fiddler Guardrails.                                                |
| [`GLiNERDetection`](#nemoguardrails-rails-llm-config-GLiNERDetection)                                     | Configuration for GLiNER PII detection.                                              |
| [`GLiNERDetectionOptions`](#nemoguardrails-rails-llm-config-GLiNERDetectionOptions)                       | Configuration options for GLiNER.                                                    |
| [`GuardrailsAIRailConfig`](#nemoguardrails-rails-llm-config-GuardrailsAIRailConfig)                       | Configuration data for Guardrails AI integration.                                    |
| [`GuardrailsAIValidatorConfig`](#nemoguardrails-rails-llm-config-GuardrailsAIValidatorConfig)             | Configuration for a single Guardrails AI validator.                                  |
| [`InjectionDetection`](#nemoguardrails-rails-llm-config-InjectionDetection)                               | -                                                                                    |
| [`InputRails`](#nemoguardrails-rails-llm-config-InputRails)                                               | Configuration of input rails.                                                        |
| [`Instruction`](#nemoguardrails-rails-llm-config-Instruction)                                             | Configuration for instructions in natural language that should be passed to the LLM. |
| [`JailbreakDetectionConfig`](#nemoguardrails-rails-llm-config-JailbreakDetectionConfig)                   | Configuration data for jailbreak detection.                                          |
| [`KnowledgeBaseConfig`](#nemoguardrails-rails-llm-config-KnowledgeBaseConfig)                             | -                                                                                    |
| [`LocalHFClassifierConfig`](#nemoguardrails-rails-llm-config-LocalHFClassifierConfig)                     | Configuration for a local HuggingFace Transformers pipeline classifier.              |
| [`LogAdapterConfig`](#nemoguardrails-rails-llm-config-LogAdapterConfig)                                   | -                                                                                    |
| [`MessageTemplate`](#nemoguardrails-rails-llm-config-MessageTemplate)                                     | Template for a message structure.                                                    |
| [`MetricsConfig`](#nemoguardrails-rails-llm-config-MetricsConfig)                                         | OpenTelemetry Metrics Configuration.                                                 |
| [`Model`](#nemoguardrails-rails-llm-config-Model)                                                         | Configuration of a model used by the rails engine.                                   |
| [`ModelCacheConfig`](#nemoguardrails-rails-llm-config-ModelCacheConfig)                                   | Configuration for model caching.                                                     |
| [`MultilingualConfig`](#nemoguardrails-rails-llm-config-MultilingualConfig)                               | Configuration for multilingual refusal messages.                                     |
| [`OutputRails`](#nemoguardrails-rails-llm-config-OutputRails)                                             | Configuration of output rails.                                                       |
| [`OutputRailsStreamingConfig`](#nemoguardrails-rails-llm-config-OutputRailsStreamingConfig)               | Configuration for managing streaming output of LLM tokens.                           |
| [`PangeaRailConfig`](#nemoguardrails-rails-llm-config-PangeaRailConfig)                                   | Configuration data for the Pangea AI Guard API                                       |
| [`PangeaRailOptions`](#nemoguardrails-rails-llm-config-PangeaRailOptions)                                 | Configuration data for the Pangea AI Guard API                                       |
| [`PatronusEvaluateApiParams`](#nemoguardrails-rails-llm-config-PatronusEvaluateApiParams)                 | Config to parameterize the Patronus Evaluate API call                                |
| [`PatronusEvaluateConfig`](#nemoguardrails-rails-llm-config-PatronusEvaluateConfig)                       | Config for the Patronus Evaluate API call                                            |
| [`PatronusEvaluationSuccessStrategy`](#nemoguardrails-rails-llm-config-PatronusEvaluationSuccessStrategy) | Strategy for determining whether a Patronus Evaluation API                           |
| [`PatronusRailConfig`](#nemoguardrails-rails-llm-config-PatronusRailConfig)                               | Configuration data for the Patronus Evaluate API                                     |
| [`PrivateAIDetection`](#nemoguardrails-rails-llm-config-PrivateAIDetection)                               | Configuration for Private AI.                                                        |
| [`PrivateAIDetectionOptions`](#nemoguardrails-rails-llm-config-PrivateAIDetectionOptions)                 | Configuration options for Private AI.                                                |
| [`Rails`](#nemoguardrails-rails-llm-config-Rails)                                                         | Configuration of specific rails.                                                     |
| [`RailsConfig`](#nemoguardrails-rails-llm-config-RailsConfig)                                             | Configuration object for the models and the rails.                                   |
| [`RailsConfigData`](#nemoguardrails-rails-llm-config-RailsConfigData)                                     | Configuration data for specific rails that are supported out-of-the-box.             |
| [`ReasoningConfig`](#nemoguardrails-rails-llm-config-ReasoningConfig)                                     | Configuration for reasoning mode in content safety models.                           |
| [`RegexDetection`](#nemoguardrails-rails-llm-config-RegexDetection)                                       | Configuration for regex pattern detection.                                           |
| [`RegexDetectionOptions`](#nemoguardrails-rails-llm-config-RegexDetectionOptions)                         | Configuration options for regex pattern detection on a specific source.              |
| [`RemoteHFClassifierConfig`](#nemoguardrails-rails-llm-config-RemoteHFClassifierConfig)                   | Configuration for a remote HuggingFace classifier (vLLM, KServe, FMS).               |
| [`RetrievalRails`](#nemoguardrails-rails-llm-config-RetrievalRails)                                       | Configuration of retrieval rails.                                                    |
| [`SensitiveDataDetection`](#nemoguardrails-rails-llm-config-SensitiveDataDetection)                       | Configuration of what sensitive data should be detected.                             |
| [`SensitiveDataDetectionOptions`](#nemoguardrails-rails-llm-config-SensitiveDataDetectionOptions)         | -                                                                                    |
| [`SingleCallConfig`](#nemoguardrails-rails-llm-config-SingleCallConfig)                                   | Configuration for the single LLM call option for topical rails.                      |
| [`SpanFormat`](#nemoguardrails-rails-llm-config-SpanFormat)                                               | -                                                                                    |
| [`TaskPrompt`](#nemoguardrails-rails-llm-config-TaskPrompt)                                               | Configuration for prompts that will be used for a specific task.                     |
| [`ToolInputRails`](#nemoguardrails-rails-llm-config-ToolInputRails)                                       | Configuration of tool input rails.                                                   |
| [`ToolOutputRails`](#nemoguardrails-rails-llm-config-ToolOutputRails)                                     | Configuration of tool output rails.                                                  |
| [`TracingConfig`](#nemoguardrails-rails-llm-config-TracingConfig)                                         | -                                                                                    |
| [`TrendMicroRailConfig`](#nemoguardrails-rails-llm-config-TrendMicroRailConfig)                           | Configuration data for the Trend Micro AI Guard API                                  |
| [`UserMessagesConfig`](#nemoguardrails-rails-llm-config-UserMessagesConfig)                               | Configuration for how the user messages are interpreted.                             |
| [`_HFClassifierBase`](#nemoguardrails-rails-llm-config-_HFClassifierBase)                                 | Shared fields for all HuggingFace classifier engines.                                |

### Functions

| Name                                                                                                  | Description                                                          |
| ----------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- |
| [`_generate_rails_flows`](#nemoguardrails-rails-llm-config-_generate_rails_flows)                     | Generates flow definitions from the list of flows.                   |
| [`_get_flow_model`](#nemoguardrails-rails-llm-config-_get_flow_model)                                 | Helper to return a model name from a flow definition                 |
| [`_get_flow_name`](#nemoguardrails-rails-llm-config-_get_flow_name)                                   | Helper to return a model name from a flow definition                 |
| [`_get_rails_flows`](#nemoguardrails-rails-llm-config-_get_rails_flows)                               | Extracts the list of flows from the raw\_config dictionary.          |
| [`_has_input_output_config_rails`](#nemoguardrails-rails-llm-config-_has_input_output_config_rails)   | Checks if the raw configuration has input/output rails configured.   |
| [`_join_config`](#nemoguardrails-rails-llm-config-_join_config)                                       | Helper to join two configuration.                                    |
| [`_join_dict`](#nemoguardrails-rails-llm-config-_join_dict)                                           | Joins two dictionaries recursively.                                  |
| [`_join_rails_configs`](#nemoguardrails-rails-llm-config-_join_rails_configs)                         | Helper to join two rails configuration.                              |
| [`_load_imported_paths`](#nemoguardrails-rails-llm-config-_load_imported_paths)                       | Load recursively all the imported path in the specified raw\_config. |
| [`_load_path`](#nemoguardrails-rails-llm-config-_load_path)                                           | Load a configuration object from the specified path.                 |
| [`_parse_colang_files_recursively`](#nemoguardrails-rails-llm-config-_parse_colang_files_recursively) | Helper function to parse all the Colang files.                       |
| [`_unique_list_concat`](#nemoguardrails-rails-llm-config-_unique_list_concat)                         | Concatenates two lists ensuring all elements are unique.             |
| [`_validate_rail_prompts`](#nemoguardrails-rails-llm-config-_validate_rail_prompts)                   | -                                                                    |
| [`merge_two_dicts`](#nemoguardrails-rails-llm-config-merge_two_dicts)                                 | Merges the fields of two dictionaries recursively.                   |

### Data

[`HFClassifierConfig`](#nemoguardrails-rails-llm-config-HFClassifierConfig)

[`JAILBREAK_FLOW_HEURISTICS`](#nemoguardrails-rails-llm-config-JAILBREAK_FLOW_HEURISTICS)

[`JAILBREAK_FLOW_MODEL`](#nemoguardrails-rails-llm-config-JAILBREAK_FLOW_MODEL)

[`MODEL_PREFIX`](#nemoguardrails-rails-llm-config-MODEL_PREFIX)

[`_default_config`](#nemoguardrails-rails-llm-config-_default_config)

[`_default_config_v2`](#nemoguardrails-rails-llm-config-_default_config_v2)

[`colang_path_dirs`](#nemoguardrails-rails-llm-config-colang_path_dirs)

[`guardrails_stdlib_path`](#nemoguardrails-rails-llm-config-guardrails_stdlib_path)

[`log`](#nemoguardrails-rails-llm-config-log)

[`standard_library_path`](#nemoguardrails-rails-llm-config-standard_library_path)

### API

```python
class nemoguardrails.rails.llm.config.AIDefenseRailConfig()
```

**Bases:** `BaseModel`

Configuration data for the Cisco AI Defense API

```python
class nemoguardrails.rails.llm.config.ActionRails()
```

**Bases:** `BaseModel`

Configuration of action rails.

Action rails control various options related to the execution of actions.
Currently, only

In the future multiple options will be added, e.g., what input validation should be
performed per action, output validation, throttling, disabling, etc.

```python
class nemoguardrails.rails.llm.config.AutoAlignOptions()
```

**Bases:** `BaseModel`

List of guardrails that are activated

```python
class nemoguardrails.rails.llm.config.AutoAlignRailConfig()
```

**Bases:** `BaseModel`

Configuration data for the AutoAlign API

```python
class nemoguardrails.rails.llm.config.CacheStatsConfig()
```

**Bases:** `BaseModel`

Configuration for cache statistics tracking and logging.

```python
class nemoguardrails.rails.llm.config.ClavataRailConfig()
```

**Bases:** `BaseModel`

Configuration data for the Clavata API

```python
class nemoguardrails.rails.llm.config.ClavataRailOptions()
```

**Bases:** `BaseModel`

Configuration data for the Clavata API

```python
class nemoguardrails.rails.llm.config.ContentSafetyConfig()
```

**Bases:** `BaseModel`

Configuration data for content safety rails.

```python
class nemoguardrails.rails.llm.config.CoreConfig()
```

**Bases:** `BaseModel`

Settings for core internal mechanics.

```python
class nemoguardrails.rails.llm.config.CrowdStrikeAIDRRailConfig()
```

**Bases:** `BaseModel`

Configuration data for the CrowdStrike AIDR API

```python
class nemoguardrails.rails.llm.config.DialogRails()
```

**Bases:** `BaseModel`

Configuration of topical rails.

```python
class nemoguardrails.rails.llm.config.Document()
```

**Bases:** `BaseModel`

Configuration for documents that should be used for question answering.

```python
class nemoguardrails.rails.llm.config.EmbeddingSearchProvider()
```

**Bases:** `BaseModel`

Configuration of a embedding search provider.

```python
class nemoguardrails.rails.llm.config.EmbeddingsCacheConfig()
```

**Bases:** `BaseModel`

Configuration for the caching embeddings.

```python
nemoguardrails.rails.llm.config.EmbeddingsCacheConfig.to_dict()
```

```python
class nemoguardrails.rails.llm.config.FactCheckingRailConfig()
```

**Bases:** `BaseModel`

Configuration data for the fact-checking rail.

```python
class nemoguardrails.rails.llm.config.FiddlerGuardrails()
```

**Bases:** `BaseModel`

Configuration for Fiddler Guardrails.

```python
class nemoguardrails.rails.llm.config.GLiNERDetection()
```

**Bases:** `BaseModel`

Configuration for GLiNER PII detection.

```python
class nemoguardrails.rails.llm.config.GLiNERDetectionOptions()
```

**Bases:** `BaseModel`

Configuration options for GLiNER.

```python
class nemoguardrails.rails.llm.config.GuardrailsAIRailConfig()
```

**Bases:** `BaseModel`

Configuration data for Guardrails AI integration.

```python
nemoguardrails.rails.llm.config.GuardrailsAIRailConfig.get_validator_config(
    name: str
) -> typing.Optional[nemoguardrails.rails.llm.config.GuardrailsAIValidatorConfig]
```

Get a specific validator configuration by name.

```python
class nemoguardrails.rails.llm.config.GuardrailsAIValidatorConfig()
```

**Bases:** `BaseModel`

Configuration for a single Guardrails AI validator.

```python
class nemoguardrails.rails.llm.config.InjectionDetection()
```

**Bases:** `BaseModel`

```python
class nemoguardrails.rails.llm.config.InputRails()
```

**Bases:** `BaseModel`

Configuration of input rails.

```python
class nemoguardrails.rails.llm.config.Instruction()
```

**Bases:** `BaseModel`

Configuration for instructions in natural language that should be passed to the LLM.

```python
class nemoguardrails.rails.llm.config.JailbreakDetectionConfig()
```

**Bases:** `BaseModel`

Configuration data for jailbreak detection.

```python
nemoguardrails.rails.llm.config.JailbreakDetectionConfig.get_api_key() -> typing.Optional[str]
```

Helper to return an API key (if it exists) from a Jailbreak configuration.
This can come from (in descending order of priority):

1. The `api_key` field, a Pydantic SecretStr from which we extract the full string.
2. The `api_key_env_var` field, a string stored in this environment variable.

If neither is found, None is returned.

```python
nemoguardrails.rails.llm.config.JailbreakDetectionConfig.migrate_deprecated_fields() -> nemoguardrails.rails.llm.config.JailbreakDetectionConfig
```

Migrate deprecated nim\_url/nim\_port fields to nim\_base\_url format.

```python
nemoguardrails.rails.llm.config.JailbreakDetectionConfig.validate_urls() -> nemoguardrails.rails.llm.config.JailbreakDetectionConfig
```

Validate URL formats for endpoints.

```python
class nemoguardrails.rails.llm.config.KnowledgeBaseConfig()
```

**Bases:** `BaseModel`

```python
class nemoguardrails.rails.llm.config.LocalHFClassifierConfig()
```

**Bases:** [\_HFClassifierBase](#nemoguardrails-rails-llm-config-_HFClassifierBase)

Configuration for a local HuggingFace Transformers pipeline classifier.

```python
nemoguardrails.rails.llm.config.LocalHFClassifierConfig._validate_local() -> nemoguardrails.rails.llm.config.LocalHFClassifierConfig
```

```python
class nemoguardrails.rails.llm.config.LogAdapterConfig()
```

**Bases:** `BaseModel`

```python
class nemoguardrails.rails.llm.config.MessageTemplate()
```

**Bases:** `BaseModel`

Template for a message structure.

```python
class nemoguardrails.rails.llm.config.MetricsConfig()
```

**Bases:** `BaseModel`

OpenTelemetry Metrics Configuration.
Configures and enables Metrics independent of OTEL Traces.

```python
class nemoguardrails.rails.llm.config.Model()
```

**Bases:** `BaseModel`

Configuration of a model used by the rails engine.

Typically, the main model is configured e.g.:
\{
"type": "main",
"engine": "openai",
"model": "gpt-3.5-turbo-instruct"
}

```python
nemoguardrails.rails.llm.config.Model.model_must_be_none_empty() -> nemoguardrails.rails.llm.config.Model
```

Validate that a model name is present either directly or in parameters.

```python
nemoguardrails.rails.llm.config.Model.set_and_validate_model(
    data: typing.Any
) -> typing.Any
```

classmethod

```python
class nemoguardrails.rails.llm.config.ModelCacheConfig()
```

**Bases:** `BaseModel`

Configuration for model caching.

```python
class nemoguardrails.rails.llm.config.MultilingualConfig()
```

**Bases:** `BaseModel`

Configuration for multilingual refusal messages.

```python
class nemoguardrails.rails.llm.config.OutputRails()
```

**Bases:** `BaseModel`

Configuration of output rails.

```python
class nemoguardrails.rails.llm.config.OutputRailsStreamingConfig()
```

**Bases:** `BaseModel`

Configuration for managing streaming output of LLM tokens.

```python
class nemoguardrails.rails.llm.config.PangeaRailConfig()
```

**Bases:** `BaseModel`

Configuration data for the Pangea AI Guard API

```python
class nemoguardrails.rails.llm.config.PangeaRailOptions()
```

**Bases:** `BaseModel`

Configuration data for the Pangea AI Guard API

```python
class nemoguardrails.rails.llm.config.PatronusEvaluateApiParams()
```

**Bases:** `BaseModel`

Config to parameterize the Patronus Evaluate API call

```python
class nemoguardrails.rails.llm.config.PatronusEvaluateConfig()
```

**Bases:** `BaseModel`

Config for the Patronus Evaluate API call

```python
class nemoguardrails.rails.llm.config.PatronusEvaluationSuccessStrategy
```

**Bases:** `enum.Enum`

Strategy for determining whether a Patronus Evaluation API
request should pass, especially when multiple evaluators
are called in a single request.
ALL\_PASS requires all evaluators to pass for success.
ANY\_PASS requires only one evaluator to pass for success.

```python
class nemoguardrails.rails.llm.config.PatronusRailConfig()
```

**Bases:** `BaseModel`

Configuration data for the Patronus Evaluate API

```python
class nemoguardrails.rails.llm.config.PrivateAIDetection()
```

**Bases:** `BaseModel`

Configuration for Private AI.

```python
class nemoguardrails.rails.llm.config.PrivateAIDetectionOptions()
```

**Bases:** `BaseModel`

Configuration options for Private AI.

```python
class nemoguardrails.rails.llm.config.Rails()
```

**Bases:** `BaseModel`

Configuration of specific rails.

```python
class nemoguardrails.rails.llm.config.RailsConfig()
```

**Bases:** `BaseModel`

Configuration object for the models and the rails.

TODO: add typed config for user\_messages, bot\_messages, and flows.

```python
nemoguardrails.rails.llm.config.RailsConfig.__add__(
    other
)
```

Adds two RailsConfig objects.

```python
nemoguardrails.rails.llm.config.RailsConfig.check_jailbreak_detection_config(
    values
)
```

Validate jailbreak detection configuration against enabled flows.

```python
nemoguardrails.rails.llm.config.RailsConfig.check_model_exists_for_input_rails(
    values
)
```

Make sure we have a model for each input rail where one is provided using \$model=\<model\_type>

```python
nemoguardrails.rails.llm.config.RailsConfig.check_model_exists_for_output_rails(
    values
)
```

Make sure we have a model for each output rail where one is provided using \$model=\<model\_type>

```python
nemoguardrails.rails.llm.config.RailsConfig.check_output_parser_exists(
    values
)
```

```python
nemoguardrails.rails.llm.config.RailsConfig.check_prompt_exist_for_self_check_rails(
    values
)
```

```python
nemoguardrails.rails.llm.config.RailsConfig.fill_in_default_values_for_v2_x(
    values
)
```

```python
nemoguardrails.rails.llm.config.RailsConfig.from_content(
    colang_content: typing.Optional[str] = None,
    yaml_content: typing.Optional[str] = None,
    config: typing.Optional[dict] = None
)
```

classmethod

Loads a configuration from the provided colang/YAML content/config dict.

```python
nemoguardrails.rails.llm.config.RailsConfig.from_path(
    config_path: str
)
```

classmethod

Loads a configuration from a given path.

Supports loading a from a single file, or from a directory.

```python
nemoguardrails.rails.llm.config.RailsConfig.parse_object(
    obj
)
```

classmethod

Parses a configuration object from a given dictionary.

```python
nemoguardrails.rails.llm.config.RailsConfig.validate_models_api_key_env_var(
    models
)
```

Model API Key Env var must be set to make LLM calls

```python
class nemoguardrails.rails.llm.config.RailsConfigData()
```

**Bases:** `BaseModel`

Configuration data for specific rails that are supported out-of-the-box.

```python
class nemoguardrails.rails.llm.config.ReasoningConfig()
```

**Bases:** `BaseModel`

Configuration for reasoning mode in content safety models.

```python
class nemoguardrails.rails.llm.config.RegexDetection()
```

**Bases:** `BaseModel`

Configuration for regex pattern detection.

```python
class nemoguardrails.rails.llm.config.RegexDetectionOptions()
```

**Bases:** `BaseModel`

Configuration options for regex pattern detection on a specific source.

Return the pre-compiled regex patterns.

```python
nemoguardrails.rails.llm.config.RegexDetectionOptions.compile_patterns() -> nemoguardrails.rails.llm.config.RegexDetectionOptions
```

Pre-compile regex patterns at config load time.

```python
class nemoguardrails.rails.llm.config.RemoteHFClassifierConfig()
```

**Bases:** [\_HFClassifierBase](#nemoguardrails-rails-llm-config-_HFClassifierBase)

Configuration for a remote HuggingFace classifier (vLLM, KServe, FMS).

```python
nemoguardrails.rails.llm.config.RemoteHFClassifierConfig._validate_remote() -> nemoguardrails.rails.llm.config.RemoteHFClassifierConfig
```

```python
class nemoguardrails.rails.llm.config.RetrievalRails()
```

**Bases:** `BaseModel`

Configuration of retrieval rails.

```python
class nemoguardrails.rails.llm.config.SensitiveDataDetection()
```

**Bases:** `BaseModel`

Configuration of what sensitive data should be detected.

```python
class nemoguardrails.rails.llm.config.SensitiveDataDetectionOptions()
```

**Bases:** `BaseModel`

```python
class nemoguardrails.rails.llm.config.SingleCallConfig()
```

**Bases:** `BaseModel`

Configuration for the single LLM call option for topical rails.

```python
class nemoguardrails.rails.llm.config.SpanFormat
```

**Bases:** `enum.Enum`

```python
class nemoguardrails.rails.llm.config.TaskPrompt()
```

**Bases:** `BaseModel`

Configuration for prompts that will be used for a specific task.

```python
nemoguardrails.rails.llm.config.TaskPrompt.check_fields(
    values
)
```

```python
class nemoguardrails.rails.llm.config.ToolInputRails()
```

**Bases:** `BaseModel`

Configuration of tool input rails.

Tool input rails are applied to tool results before they are processed.
They can validate, filter, or transform tool outputs for security and safety.

```python
class nemoguardrails.rails.llm.config.ToolOutputRails()
```

**Bases:** `BaseModel`

Configuration of tool output rails.

Tool output rails are applied to tool calls before they are executed.
They can validate tool names, parameters, and context to ensure safe tool usage.

```python
class nemoguardrails.rails.llm.config.TracingConfig()
```

**Bases:** `BaseModel`

```python
class nemoguardrails.rails.llm.config.TrendMicroRailConfig()
```

**Bases:** `BaseModel`

Configuration data for the Trend Micro AI Guard API

```python
nemoguardrails.rails.llm.config.TrendMicroRailConfig.get_api_key() -> typing.Optional[str]
```

Helper to return an API key (if it exists) from a Trend Micro configuration.
The `api_key_env_var` field, a string stored in this environment variable.

If the environment variable is not found None is returned.

```python
class nemoguardrails.rails.llm.config.UserMessagesConfig()
```

**Bases:** `BaseModel`

Configuration for how the user messages are interpreted.

```python
class nemoguardrails.rails.llm.config._HFClassifierBase()
```

**Bases:** `BaseModel`

Shared fields for all HuggingFace classifier engines.

```python
nemoguardrails.rails.llm.config._HFClassifierBase._validate_common() -> nemoguardrails.rails.llm.config._HFClassifierBase
```

```python
nemoguardrails.rails.llm.config._generate_rails_flows(
    flows
)
```

Generates flow definitions from the list of flows.
Args:
flows (dict): The dictionary of flows.
Returns:
str: The flow definitions.

```python
nemoguardrails.rails.llm.config._get_flow_model(
    flow_text
) -> typing.Optional[str]
```

Helper to return a model name from a flow definition

```python
nemoguardrails.rails.llm.config._get_flow_name(
    flow_text
) -> typing.Optional[str]
```

Helper to return a model name from a flow definition

```python
nemoguardrails.rails.llm.config._get_rails_flows(
    raw_config
)
```

Extracts the list of flows from the raw\_config dictionary.

**Parameters:**

The raw configuration dictionary.

**Returns:**

The list of flows.

```python
nemoguardrails.rails.llm.config._has_input_output_config_rails(
    raw_config
)
```

Checks if the raw configuration has input/output rails configured.

```python
nemoguardrails.rails.llm.config._join_config(
    dest_config: dict,
    additional_config: dict
)
```

Helper to join two configuration.

```python
nemoguardrails.rails.llm.config._join_dict(
    dict1,
    dict2
)
```

Joins two dictionaries recursively.

* If values are dictionaries, it applies \_join\_dict recursively.
* If values are lists, it concatenates them, ensuring unique elements.
* For other types, values from dict2 overwrite dict1.

```python
nemoguardrails.rails.llm.config._join_rails_configs(
    base_rails_config: nemoguardrails.rails.llm.config.RailsConfig,
    updated_rails_config: nemoguardrails.rails.llm.config.RailsConfig
)
```

Helper to join two rails configuration.

```python
nemoguardrails.rails.llm.config._load_imported_paths(
    raw_config: dict,
    colang_files: typing.List[typing.Tuple[str, str]]
)
```

Load recursively all the imported path in the specified raw\_config.

**Parameters:**

The starting raw configuration (i.e., a dict)

The current set of colang files which will be extended as new
configurations are loaded.

```python
nemoguardrails.rails.llm.config._load_path(
    config_path: str
) -> typing.Tuple[dict, typing.List[typing.Tuple[str, str]]]
```

Load a configuration object from the specified path.

**Parameters:**

The path from which to load.

**Returns:** `Tuple[dict, List[Tuple[str, str]]]`

(raw\_config, colang\_files) The raw config object and the list of colang files.

```python
nemoguardrails.rails.llm.config._parse_colang_files_recursively(
    raw_config: dict,
    colang_files: typing.List[typing.Tuple[str, str]],
    parsed_colang_files: typing.List[dict]
)
```

Helper function to parse all the Colang files.

If there are imports, they will be imported recursively

```python
nemoguardrails.rails.llm.config._unique_list_concat(
    list1,
    list2
)
```

Concatenates two lists ensuring all elements are unique.
Handles unhashable types like dictionaries.

```python
nemoguardrails.rails.llm.config._validate_rail_prompts(
    rails: list[str],
    prompts: list[typing.Any],
    validation_rail: str
) -> None
```

```python
nemoguardrails.rails.llm.config.merge_two_dicts(
    dict_1: dict,
    dict_2: dict,
    ignore_keys: typing.Set[str]
) -> None
```

Merges the fields of two dictionaries recursively.

```python
nemoguardrails.rails.llm.config.HFClassifierConfig = Annotated[Union[LocalHFClassifierConfig, RemoteHFClassifierConfig], Discriminato...
```

```python
nemoguardrails.rails.llm.config.JAILBREAK_FLOW_HEURISTICS = 'jailbreak detection heuristics'
```

```python
nemoguardrails.rails.llm.config.JAILBREAK_FLOW_MODEL = 'jailbreak detection model'
```

```python
nemoguardrails.rails.llm.config.MODEL_PREFIX = '$model='
```

```python
nemoguardrails.rails.llm.config._default_config = yaml.safe_load(_fc)
```

```python
nemoguardrails.rails.llm.config._default_config_v2 = yaml.safe_load(_fc)
```

```python
nemoguardrails.rails.llm.config.colang_path_dirs = [(_path.strip()) for _path in (os.environ.get('COLANGPATH', '').split(os.pathsep...
```

```python
nemoguardrails.rails.llm.config.guardrails_stdlib_path = os.path.normpath(os.path.join(os.path.dirname(__file__), '..', '..', '..'))
```

```python
nemoguardrails.rails.llm.config.log = logging.getLogger(__name__)
```

```python
nemoguardrails.rails.llm.config.standard_library_path = os.path.normpath(os.path.join(os.path.dirname(__file__), '..', '..', 'colang', '...
```