nemoguardrails.rails.llm.config

View as Markdown

Module for the configuration of rails.

Module Contents

Classes

NameDescription
AIDefenseRailConfigConfiguration data for the Cisco AI Defense API
ActionRailsConfiguration of action rails.
AutoAlignOptionsList of guardrails that are activated
AutoAlignRailConfigConfiguration data for the AutoAlign API
CacheStatsConfigConfiguration for cache statistics tracking and logging.
ClavataRailConfigConfiguration data for the Clavata API
ClavataRailOptionsConfiguration data for the Clavata API
ContentSafetyConfigConfiguration data for content safety rails.
CoreConfigSettings for core internal mechanics.
CrowdStrikeAIDRRailConfigConfiguration data for the CrowdStrike AIDR API
DialogRailsConfiguration of topical rails.
DocumentConfiguration for documents that should be used for question answering.
EmbeddingSearchProviderConfiguration of a embedding search provider.
EmbeddingsCacheConfigConfiguration for the caching embeddings.
FactCheckingRailConfigConfiguration data for the fact-checking rail.
FiddlerGuardrailsConfiguration for Fiddler Guardrails.
GLiNERDetectionConfiguration for GLiNER PII detection.
GLiNERDetectionOptionsConfiguration options for GLiNER.
GuardrailsAIRailConfigConfiguration data for Guardrails AI integration.
GuardrailsAIValidatorConfigConfiguration for a single Guardrails AI validator.
InjectionDetection-
InputRailsConfiguration of input rails.
InstructionConfiguration for instructions in natural language that should be passed to the LLM.
JailbreakDetectionConfigConfiguration data for jailbreak detection.
KnowledgeBaseConfig-
LocalHFClassifierConfigConfiguration for a local HuggingFace Transformers pipeline classifier.
LogAdapterConfig-
MessageTemplateTemplate for a message structure.
MetricsConfigOpenTelemetry Metrics Configuration.
ModelConfiguration of a model used by the rails engine.
ModelCacheConfigConfiguration for model caching.
MultilingualConfigConfiguration for multilingual refusal messages.
OutputRailsConfiguration of output rails.
OutputRailsStreamingConfigConfiguration for managing streaming output of LLM tokens.
PangeaRailConfigConfiguration data for the Pangea AI Guard API
PangeaRailOptionsConfiguration data for the Pangea AI Guard API
PatronusEvaluateApiParamsConfig to parameterize the Patronus Evaluate API call
PatronusEvaluateConfigConfig for the Patronus Evaluate API call
PatronusEvaluationSuccessStrategyStrategy for determining whether a Patronus Evaluation API
PatronusRailConfigConfiguration data for the Patronus Evaluate API
PrivateAIDetectionConfiguration for Private AI.
PrivateAIDetectionOptionsConfiguration options for Private AI.
RailsConfiguration of specific rails.
RailsConfigConfiguration object for the models and the rails.
RailsConfigDataConfiguration data for specific rails that are supported out-of-the-box.
ReasoningConfigConfiguration for reasoning mode in content safety models.
RegexDetectionConfiguration for regex pattern detection.
RegexDetectionOptionsConfiguration options for regex pattern detection on a specific source.
RemoteHFClassifierConfigConfiguration for a remote HuggingFace classifier (vLLM, KServe, FMS).
RetrievalRailsConfiguration of retrieval rails.
SensitiveDataDetectionConfiguration of what sensitive data should be detected.
SensitiveDataDetectionOptions-
SingleCallConfigConfiguration for the single LLM call option for topical rails.
SpanFormat-
TaskPromptConfiguration for prompts that will be used for a specific task.
ToolInputRailsConfiguration of tool input rails.
ToolOutputRailsConfiguration of tool output rails.
TracingConfig-
TrendMicroRailConfigConfiguration data for the Trend Micro AI Guard API
UserMessagesConfigConfiguration for how the user messages are interpreted.
_HFClassifierBaseShared fields for all HuggingFace classifier engines.

Functions

NameDescription
_generate_rails_flowsGenerates flow definitions from the list of flows.
_get_flow_modelHelper to return a model name from a flow definition
_get_flow_nameHelper to return a model name from a flow definition
_get_rails_flowsExtracts the list of flows from the raw_config dictionary.
_has_input_output_config_railsChecks if the raw configuration has input/output rails configured.
_join_configHelper to join two configuration.
_join_dictJoins two dictionaries recursively.
_join_rails_configsHelper to join two rails configuration.
_load_imported_pathsLoad recursively all the imported path in the specified raw_config.
_load_pathLoad a configuration object from the specified path.
_parse_colang_files_recursivelyHelper function to parse all the Colang files.
_unique_list_concatConcatenates two lists ensuring all elements are unique.
_validate_rail_prompts-
merge_two_dictsMerges the fields of two dictionaries recursively.

Data

HFClassifierConfig

JAILBREAK_FLOW_HEURISTICS

JAILBREAK_FLOW_MODEL

MODEL_PREFIX

_default_config

_default_config_v2

colang_path_dirs

guardrails_stdlib_path

log

standard_library_path

API

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

Bases: BaseModel

Configuration data for the Cisco AI Defense API

fail_open
bool
timeout
float
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.

instant_actions
Optional[List[str]]
class nemoguardrails.rails.llm.config.AutoAlignOptions()

Bases: BaseModel

List of guardrails that are activated

guardrails_config
Dict[str, Any]
class nemoguardrails.rails.llm.config.AutoAlignRailConfig()

Bases: BaseModel

Configuration data for the AutoAlign API

input
AutoAlignOptions
output
AutoAlignOptions
parameters
Dict[str, Any] = Field(default_factory=dict)
class nemoguardrails.rails.llm.config.CacheStatsConfig()

Bases: BaseModel

Configuration for cache statistics tracking and logging.

enabled
bool
log_interval
Optional[float]
class nemoguardrails.rails.llm.config.ClavataRailConfig()

Bases: BaseModel

Configuration data for the Clavata API

input
Optional[ClavataRailOptions]
label_match_logic
Literal['ANY', 'ALL']
output
Optional[ClavataRailOptions]
policies
Dict[str, str]
server_endpoint
str
class nemoguardrails.rails.llm.config.ClavataRailOptions()

Bases: BaseModel

Configuration data for the Clavata API

labels
List[str]
policy
str
class nemoguardrails.rails.llm.config.ContentSafetyConfig()

Bases: BaseModel

Configuration data for content safety rails.

multilingual
MultilingualConfig
reasoning
ReasoningConfig
class nemoguardrails.rails.llm.config.CoreConfig()

Bases: BaseModel

Settings for core internal mechanics.

embedding_search_provider
EmbeddingSearchProvider
class nemoguardrails.rails.llm.config.CrowdStrikeAIDRRailConfig()

Bases: BaseModel

Configuration data for the CrowdStrike AIDR API

timeout
float
class nemoguardrails.rails.llm.config.DialogRails()

Bases: BaseModel

Configuration of topical rails.

single_call
SingleCallConfig
user_messages
UserMessagesConfig
class nemoguardrails.rails.llm.config.Document()

Bases: BaseModel

Configuration for documents that should be used for question answering.

content
str
format
str
class nemoguardrails.rails.llm.config.EmbeddingSearchProvider()

Bases: BaseModel

Configuration of a embedding search provider.

cache
EmbeddingsCacheConfig = Field(default_factory=EmbeddingsCacheConfig)
name
str
parameters
Dict[str, Any] = Field(default_factory=dict)
class nemoguardrails.rails.llm.config.EmbeddingsCacheConfig()

Bases: BaseModel

Configuration for the caching embeddings.

enabled
bool
key_generator
str
store
str
store_config
Dict[str, Any]
nemoguardrails.rails.llm.config.EmbeddingsCacheConfig.to_dict()
class nemoguardrails.rails.llm.config.FactCheckingRailConfig()

Bases: BaseModel

Configuration data for the fact-checking rail.

fallback_to_self_check
bool
parameters
Dict[str, Any] = Field(default_factory=dict)
class nemoguardrails.rails.llm.config.FiddlerGuardrails()

Bases: BaseModel

Configuration for Fiddler Guardrails.

faithfulness_threshold
float
fiddler_endpoint
str
safety_threshold
float
class nemoguardrails.rails.llm.config.GLiNERDetection()

Bases: BaseModel

Configuration for GLiNER PII detection.

api_key_env_var
Optional[str]
chunk_length
int
flat_ner
bool
input
GLiNERDetectionOptions
model
str
model_config
= ConfigDict(extra='forbid')
output
GLiNERDetectionOptions
overlap
int
retrieval
GLiNERDetectionOptions
server_endpoint
str
threshold
float
class nemoguardrails.rails.llm.config.GLiNERDetectionOptions()

Bases: BaseModel

Configuration options for GLiNER.

entities
List[str]
model_config
= ConfigDict(extra='forbid')
class nemoguardrails.rails.llm.config.GuardrailsAIRailConfig()

Bases: BaseModel

Configuration data for Guardrails AI integration.

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

Get a specific validator configuration by name.

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

Bases: BaseModel

Configuration for a single Guardrails AI validator.

metadata
Dict[str, Any]
name
str
parameters
Dict[str, Any]
class nemoguardrails.rails.llm.config.InjectionDetection()

Bases: BaseModel

action
str
injections
List[str]
yara_path
Optional[str]
yara_rules
Optional[Dict[str, str]]
class nemoguardrails.rails.llm.config.InputRails()

Bases: BaseModel

Configuration of input rails.

flows
List[str]
parallel
Optional[bool]
speculative_generation
Optional[bool]
class nemoguardrails.rails.llm.config.Instruction()

Bases: BaseModel

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

content
str
type
str
class nemoguardrails.rails.llm.config.JailbreakDetectionConfig()

Bases: BaseModel

Configuration data for jailbreak detection.

api_key
Optional[SecretStr]
api_key_env_var
Optional[str]
embedding
Optional[str]
length_per_perplexity_threshold
float
nim_base_url
Optional[str]
nim_port
Optional[int]
nim_server_endpoint
Optional[str]
nim_url
Optional[str]
prefix_suffix_perplexity_threshold
float
server_endpoint
Optional[str]
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.

nemoguardrails.rails.llm.config.JailbreakDetectionConfig.migrate_deprecated_fields() -> nemoguardrails.rails.llm.config.JailbreakDetectionConfignemoguardrails.rails.llm.config.JailbreakDetectionConfig.migrate_deprecated_fields() -> nemoguardrails.rails.llm.config.JailbreakDetectionConfig

Migrate deprecated nim_url/nim_port fields to nim_base_url format.

nemoguardrails.rails.llm.config.JailbreakDetectionConfig.validate_urls() -> nemoguardrails.rails.llm.config.JailbreakDetectionConfignemoguardrails.rails.llm.config.JailbreakDetectionConfig.validate_urls() -> nemoguardrails.rails.llm.config.JailbreakDetectionConfig

Validate URL formats for endpoints.

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

Bases: BaseModel

embedding_search_provider
EmbeddingSearchProvider
folder
str
class nemoguardrails.rails.llm.config.LocalHFClassifierConfig()

Bases: _HFClassifierBase

Configuration for a local HuggingFace Transformers pipeline classifier.

engine
Literal['local'] = 'local'
parameters
Dict[str, Any]
task
Literal['text-classification', 'token-classification']
nemoguardrails.rails.llm.config.LocalHFClassifierConfig._validate_local() -> nemoguardrails.rails.llm.config.LocalHFClassifierConfignemoguardrails.rails.llm.config.LocalHFClassifierConfig._validate_local() -> nemoguardrails.rails.llm.config.LocalHFClassifierConfig
class nemoguardrails.rails.llm.config.LogAdapterConfig()

Bases: BaseModel

model_config
= ConfigDict(extra='allow')
name
str
class nemoguardrails.rails.llm.config.MessageTemplate()

Bases: BaseModel

Template for a message structure.

content
str = Field(description='The content of the message.')
type
str
class nemoguardrails.rails.llm.config.MetricsConfig()

Bases: BaseModel

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

enabled
bool
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” }

api_key_env_var
Optional[str]
cache
Optional[ModelCacheConfig]
engine
str
mode
Literal['chat', 'text']
model
Optional[str]
parameters
Dict[str, Any] = Field(default_factory=dict)
type
str
nemoguardrails.rails.llm.config.Model.model_must_be_none_empty() -> nemoguardrails.rails.llm.config.Modelnemoguardrails.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.

nemoguardrails.rails.llm.config.Model.set_and_validate_model(
data: typing.Any
) -> typing.Any
classmethod
class nemoguardrails.rails.llm.config.ModelCacheConfig()

Bases: BaseModel

Configuration for model caching.

enabled
bool
maxsize
int
stats
CacheStatsConfig
class nemoguardrails.rails.llm.config.MultilingualConfig()

Bases: BaseModel

Configuration for multilingual refusal messages.

enabled
bool
refusal_messages
Optional[Dict[str, str]]
class nemoguardrails.rails.llm.config.OutputRails()

Bases: BaseModel

Configuration of output rails.

flows
List[str]
parallel
Optional[bool]
streaming
OutputRailsStreamingConfig
class nemoguardrails.rails.llm.config.OutputRailsStreamingConfig()

Bases: BaseModel

Configuration for managing streaming output of LLM tokens.

chunk_size
int
context_size
int
enabled
bool
model_config
= ConfigDict(extra='allow')
stream_first
bool
class nemoguardrails.rails.llm.config.PangeaRailConfig()

Bases: BaseModel

Configuration data for the Pangea AI Guard API

input
Optional[PangeaRailOptions]
output
Optional[PangeaRailOptions]
class nemoguardrails.rails.llm.config.PangeaRailOptions()

Bases: BaseModel

Configuration data for the Pangea AI Guard API

recipe
str
class nemoguardrails.rails.llm.config.PatronusEvaluateApiParams()

Bases: BaseModel

Config to parameterize the Patronus Evaluate API call

params
Dict[str, Any]
success_strategy
Optional[PatronusEvaluationSuccessStrategy]
class nemoguardrails.rails.llm.config.PatronusEvaluateConfig()

Bases: BaseModel

Config for the Patronus Evaluate API call

evaluate_config
PatronusEvaluateApiParams
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.

ALL_PASS
= 'all_pass'
ANY_PASS
= 'any_pass'
class nemoguardrails.rails.llm.config.PatronusRailConfig()

Bases: BaseModel

Configuration data for the Patronus Evaluate API

input
Optional[PatronusEvaluateConfig]
output
Optional[PatronusEvaluateConfig]
class nemoguardrails.rails.llm.config.PrivateAIDetection()

Bases: BaseModel

Configuration for Private AI.

input
PrivateAIDetectionOptions
output
PrivateAIDetectionOptions
retrieval
PrivateAIDetectionOptions
server_endpoint
str
class nemoguardrails.rails.llm.config.PrivateAIDetectionOptions()

Bases: BaseModel

Configuration options for Private AI.

entities
List[str]
class nemoguardrails.rails.llm.config.Rails()

Bases: BaseModel

Configuration of specific rails.

actions
ActionRails
config
RailsConfigData
dialog
DialogRails
input
InputRails
output
OutputRails
retrieval
RetrievalRails
tool_input
ToolInputRails
tool_output
ToolOutputRails
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.

actions_server_url
Optional[str]
bot_messages
Dict[str, List[str]]
colang_version
str
config_path
Optional[str]
core
CoreConfig
custom_data
Dict
docs
Optional[List[Document]]
enable_multi_step_generation
Optional[bool]
enable_rails_exceptions
bool
event_source_uid
str
flows
List[Union[Dict, Any]]
import_paths
Optional[List[str]]
imported_paths
Optional[Dict[str, str]]
instructions
Optional[List[Instruction]]
knowledge_base
KnowledgeBaseConfig
lowest_temperature
Optional[float]
metrics
MetricsConfig
models
List[Model]
passthrough
Optional[bool]
prompting_mode
Optional[str]
prompts
Optional[List[TaskPrompt]]
rails
Rails
raw_llm_call_action
Optional[str]
sample_conversation
Optional[str]
streaming
bool
tracing
TracingConfig
user_messages
Dict[str, List[str]]
nemoguardrails.rails.llm.config.RailsConfig.__add__(
other
)

Adds two RailsConfig objects.

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

Validate jailbreak detection configuration against enabled flows.

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>

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>

nemoguardrails.rails.llm.config.RailsConfig.check_output_parser_exists(
values
)
nemoguardrails.rails.llm.config.RailsConfig.check_prompt_exist_for_self_check_rails(
values
)
nemoguardrails.rails.llm.config.RailsConfig.fill_in_default_values_for_v2_x(
values
)
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.

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.

nemoguardrails.rails.llm.config.RailsConfig.parse_object(
obj
)
classmethod

Parses a configuration object from a given dictionary.

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

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

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

Bases: BaseModel

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

ai_defense
Optional[AIDefenseRailConfig]
autoalign
AutoAlignRailConfig
clavata
Optional[ClavataRailConfig]
content_safety
Optional[ContentSafetyConfig]
crowdstrike_aidr
Optional[CrowdStrikeAIDRRailConfig]
fact_checking
FactCheckingRailConfig
fiddler
Optional[FiddlerGuardrails]
gliner
Optional[GLiNERDetection]
guardrails_ai
Optional[GuardrailsAIRailConfig]
hf_classifier
Optional[Dict[str, HFClassifierConfig]]
injection_detection
Optional[InjectionDetection]
jailbreak_detection
Optional[JailbreakDetectionConfig]
pangea
Optional[PangeaRailConfig]
patronus
Optional[PatronusRailConfig]
privateai
Optional[PrivateAIDetection]
regex_detection
Optional[RegexDetection]
sensitive_data_detection
Optional[SensitiveDataDetection]
trend_micro
Optional[TrendMicroRailConfig]
class nemoguardrails.rails.llm.config.ReasoningConfig()

Bases: BaseModel

Configuration for reasoning mode in content safety models.

enabled
bool
class nemoguardrails.rails.llm.config.RegexDetection()

Bases: BaseModel

Configuration for regex pattern detection.

input
RegexDetectionOptions
output
RegexDetectionOptions
retrieval
RegexDetectionOptions
class nemoguardrails.rails.llm.config.RegexDetectionOptions()

Bases: BaseModel

Configuration options for regex pattern detection on a specific source.

_compiled_patterns
List[Pattern[str]] = PrivateAttr(default_factory=list)
case_insensitive
bool
compiled_patterns
List[Pattern[str]]

Return the pre-compiled regex patterns.

patterns
List[str]
nemoguardrails.rails.llm.config.RegexDetectionOptions.compile_patterns() -> nemoguardrails.rails.llm.config.RegexDetectionOptionsnemoguardrails.rails.llm.config.RegexDetectionOptions.compile_patterns() -> nemoguardrails.rails.llm.config.RegexDetectionOptions

Pre-compile regex patterns at config load time.

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

Bases: _HFClassifierBase

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

_KNOWN_PARAMS
frozenset
api_key_env_var
Optional[str]
base_url
str
engine
Literal['vllm', 'kserve', 'fms']
parameters
Dict[str, Any]
nemoguardrails.rails.llm.config.RemoteHFClassifierConfig._validate_remote() -> nemoguardrails.rails.llm.config.RemoteHFClassifierConfignemoguardrails.rails.llm.config.RemoteHFClassifierConfig._validate_remote() -> nemoguardrails.rails.llm.config.RemoteHFClassifierConfig
class nemoguardrails.rails.llm.config.RetrievalRails()

Bases: BaseModel

Configuration of retrieval rails.

flows
List[str]
class nemoguardrails.rails.llm.config.SensitiveDataDetection()

Bases: BaseModel

Configuration of what sensitive data should be detected.

input
SensitiveDataDetectionOptions
output
SensitiveDataDetectionOptions
recognizers
List[dict]
retrieval
SensitiveDataDetectionOptions
class nemoguardrails.rails.llm.config.SensitiveDataDetectionOptions()

Bases: BaseModel

entities
List[str]
mask_token
str
score_threshold
float
class nemoguardrails.rails.llm.config.SingleCallConfig()

Bases: BaseModel

Configuration for the single LLM call option for topical rails.

enabled
bool = False
fallback_to_multiple_calls
bool
class nemoguardrails.rails.llm.config.SpanFormat

Bases: enum.Enum

legacy
= 'legacy'
opentelemetry
= 'opentelemetry'
class nemoguardrails.rails.llm.config.TaskPrompt()

Bases: BaseModel

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

content
Optional[str]
max_length
Optional[int]
max_tokens
Optional[int]
messages
Optional[List[Union[MessageTemplate, str]]]
mode
Optional[str]
models
Optional[List[str]]
output_parser
Optional[str]
stop
Optional[List[str]]
task
str
nemoguardrails.rails.llm.config.TaskPrompt.check_fields(
values
)
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.

flows
List[str]
parallel
Optional[bool]
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.

flows
List[str]
parallel
Optional[bool]
class nemoguardrails.rails.llm.config.TracingConfig()

Bases: BaseModel

adapters
List[LogAdapterConfig]
enable_content_capture
bool
enabled
bool = False
span_format
str
class nemoguardrails.rails.llm.config.TrendMicroRailConfig()

Bases: BaseModel

Configuration data for the Trend Micro AI Guard API

api_key_env_var
Optional[str]
application_name
str
detailed_response
bool
v1_url
str
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.

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

Bases: BaseModel

Configuration for how the user messages are interpreted.

embeddings_only
bool
embeddings_only_fallback_intent
Optional[str]
embeddings_only_similarity_threshold
Optional[float]
class nemoguardrails.rails.llm.config._HFClassifierBase()

Bases: BaseModel

Shared fields for all HuggingFace classifier engines.

blocked_labels
List[str]
model
str
threshold
float
nemoguardrails.rails.llm.config._HFClassifierBase._validate_common() -> nemoguardrails.rails.llm.config._HFClassifierBasenemoguardrails.rails.llm.config._HFClassifierBase._validate_common() -> nemoguardrails.rails.llm.config._HFClassifierBase
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.

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

Helper to return a model name from a flow definition

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

Helper to return a model name from a flow definition

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

Extracts the list of flows from the raw_config dictionary.

Parameters:

raw_config
dict

The raw configuration dictionary.

Returns:

The list of flows.

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

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

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

Helper to join two configuration.

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

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:

raw_config
dict

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

colang_files
List[Tuple[str, str]]

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

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:

config_path
str

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.

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

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

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

nemoguardrails.rails.llm.config._validate_rail_prompts(
rails: list[str],
prompts: list[typing.Any],
validation_rail: str
) -> None
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.

nemoguardrails.rails.llm.config.HFClassifierConfig = Annotated[Union[LocalHFClassifierConfig, RemoteHFClassifierConfig], Discriminato...
nemoguardrails.rails.llm.config.JAILBREAK_FLOW_HEURISTICS = 'jailbreak detection heuristics'
nemoguardrails.rails.llm.config.JAILBREAK_FLOW_MODEL = 'jailbreak detection model'
nemoguardrails.rails.llm.config.MODEL_PREFIX = '$model='
nemoguardrails.rails.llm.config._default_config = yaml.safe_load(_fc)
nemoguardrails.rails.llm.config._default_config_v2 = yaml.safe_load(_fc)
nemoguardrails.rails.llm.config.colang_path_dirs = [(_path.strip()) for _path in (os.environ.get('COLANGPATH', '').split(os.pathsep...
nemoguardrails.rails.llm.config.guardrails_stdlib_path = os.path.normpath(os.path.join(os.path.dirname(__file__), '..', '..', '..'))
nemoguardrails.rails.llm.config.log = logging.getLogger(__name__)
nemoguardrails.rails.llm.config.standard_library_path = os.path.normpath(os.path.join(os.path.dirname(__file__), '..', '..', 'colang', '...