> 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.library.clavata.actions

Check for matches against a Clavata policy.

## Module Contents

### Classes

| Name                                                                   | Description                         |
| ---------------------------------------------------------------------- | ----------------------------------- |
| [`LabelResult`](#nemoguardrails-library-clavata-actions-LabelResult)   | Result of a label evaluation        |
| [`PolicyResult`](#nemoguardrails-library-clavata-actions-PolicyResult) | Result of Clavata Policy Evaluation |

### Functions

| Name                                                                                   | Description                                                                                                   |
| -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| [`clavata_check`](#nemoguardrails-library-clavata-actions-clavata_check)               | Check for matches against a Clavata policy.                                                                   |
| [`evaluate_with_policy`](#nemoguardrails-library-clavata-actions-evaluate_with_policy) | Get the policy result for the given source.                                                                   |
| [`get_clavata_config`](#nemoguardrails-library-clavata-actions-get_clavata_config)     | Get the Clavata config and flow config for the given source.                                                  |
| [`get_labels`](#nemoguardrails-library-clavata-actions-get_labels)                     | Checks whether the provided text matches the specified Clavata policy ID.                                     |
| [`get_policy_id`](#nemoguardrails-library-clavata-actions-get_policy_id)               | Get Policy ID will check the input policy. If the input is already a UUID, that UUID will be used. Otherwise, |
| [`get_server_endpoint`](#nemoguardrails-library-clavata-actions-get_server_endpoint)   | Get the server endpoint from the Clavata config.                                                              |
| [`is_label_match`](#nemoguardrails-library-clavata-actions-is_label_match)             | Check whether the labels matched the policy                                                                   |

### Data

[`VALID_RAILS`](#nemoguardrails-library-clavata-actions-VALID_RAILS)

[`ValidRailsType`](#nemoguardrails-library-clavata-actions-ValidRailsType)

[`log`](#nemoguardrails-library-clavata-actions-log)

### API

```python
class nemoguardrails.library.clavata.actions.LabelResult()
```

**Bases:** `BaseModel`

Result of a label evaluation

```python
nemoguardrails.library.clavata.actions.LabelResult.from_section_report(
    report: nemoguardrails.library.clavata.request.SectionReport
) -> nemoguardrails.library.clavata.actions.LabelResult
```

classmethod

Convert a Clavata section report to a LabelResult

```python
class nemoguardrails.library.clavata.actions.PolicyResult()
```

**Bases:** `BaseModel`

Result of Clavata Policy Evaluation

```python
nemoguardrails.library.clavata.actions.PolicyResult.from_job(
    job: nemoguardrails.library.clavata.request.Job
) -> nemoguardrails.library.clavata.actions.PolicyResult
```

classmethod

Convert a Clavata job to a PolicyResult

```python
nemoguardrails.library.clavata.actions.PolicyResult.from_report(
    report: nemoguardrails.library.clavata.request.Report
) -> nemoguardrails.library.clavata.actions.PolicyResult
```

classmethod

Convert a Clavata report to a PolicyResult

```python
nemoguardrails.library.clavata.actions.clavata_check(
    text: str,
    policy: typing.Union[str, None] = None,
    labels: typing.Optional[typing.Union[typing.List[str], str]] = None,
    rail: typing.Union[nemoguardrails.library.clavata.actions.ValidRailsType, None] = None,
    config: typing.Optional[nemoguardrails.RailsConfig] = None,
    kwargs: typing.Any = {}
) -> bool
```

async

Check for matches against a Clavata policy.

```python
nemoguardrails.library.clavata.actions.evaluate_with_policy(
    text: str,
    policy_id: str,
    clavata_config: nemoguardrails.rails.llm.config.ClavataRailConfig
) -> nemoguardrails.library.clavata.actions.PolicyResult
```

async

Get the policy result for the given source.

```python
nemoguardrails.library.clavata.actions.get_clavata_config(
    config: typing.Any
) -> nemoguardrails.rails.llm.config.ClavataRailConfig
```

Get the Clavata config and flow config for the given source.

```python
nemoguardrails.library.clavata.actions.get_labels(
    config: nemoguardrails.rails.llm.config.ClavataRailConfig,
    labels: typing.Optional[typing.Union[typing.List[str], str]] = None,
    rail: typing.Optional[nemoguardrails.library.clavata.actions.ValidRailsType] = None
) -> typing.List[str]
```

Checks whether the provided text matches the specified Clavata policy ID.
Note that this action will return True if any label in the policy matches the text.

```python
nemoguardrails.library.clavata.actions.get_policy_id(
    config: nemoguardrails.rails.llm.config.ClavataRailConfig,
    policy: typing.Union[str, None] = None,
    rail: typing.Optional[nemoguardrails.library.clavata.actions.ValidRailsType] = None
) -> uuid.UUID
```

Get Policy ID will check the input policy. If the input is already a UUID, that UUID will be used. Otherwise,
the config will be checked to try to match the input policy alias to a policy ID. If no match is found, an error
will be raised.

```python
nemoguardrails.library.clavata.actions.get_server_endpoint(
    config: nemoguardrails.rails.llm.config.ClavataRailConfig
) -> str
```

Get the server endpoint from the Clavata config.

```python
nemoguardrails.library.clavata.actions.is_label_match(
    result: nemoguardrails.library.clavata.actions.PolicyResult,
    labels: typing.List[str],
    clavata_config: nemoguardrails.rails.llm.config.ClavataRailConfig
) -> bool
```

Check whether the labels matched the policy

```python
nemoguardrails.library.clavata.actions.VALID_RAILS = ['input', 'output']
```

```python
nemoguardrails.library.clavata.actions.ValidRailsType = Literal['input', 'output']
```

```python
nemoguardrails.library.clavata.actions.log = logging.getLogger(__name__)
```