nemoguardrails.manifests.config_schema

View as Markdown

Building blocks for declaring typed, per-rail configuration.

Rails define their configuration as a RailConfigBaseModel (a Pydantic base that ignores unknown keys) with fields built via rail_field. RailConfigSpec describes a single configuration field: its annotation, the Pydantic FieldInfo, and any named values it exports to the runtime.

Module Contents

Classes

NameDescription
RailConfigBaseModelBase model for typed per-rail configuration sections.
RailConfigSpecTyped field definition and exported values for a rail configuration.

Functions

NameDescription
rail_fieldCreate Pydantic field metadata for a rail configuration field.

Data

__all__

API

class nemoguardrails.manifests.config_schema.RailConfigBaseModel()

Bases: _PydanticBaseModel

Base model for typed per-rail configuration sections.

model_config
= _ConfigDict(extra='ignore')
class nemoguardrails.manifests.config_schema.RailConfigSpec(
annotation: typing.Any,
field_info: pydantic.fields.FieldInfo,
exports: typing.Dict[str, typing.Any] = dict(),
key: typing.Optional[str] = None
)
Dataclass

Typed field definition and exported values for a rail configuration.

exports
Dict[str, Any] = field(default_factory=dict)
field_info
FieldInfo
key
Optional[str] = field(default=None, kw_only=True)
nemoguardrails.manifests.config_schema.rail_field(
args: typing.Any = (),
kwargs: typing.Any = {}
) -> pydantic.fields.FieldInfo

Create Pydantic field metadata for a rail configuration field.

nemoguardrails.manifests.config_schema.__all__ = ['Discriminator', 'Field', 'PrivateAttr', 'RailConfigBaseModel', 'RailConfigSpec...