> This page is for version v0.24.1.
> For other versions, use one of these documentation indexes:
> - Latest (default): https://docs.nvidia.com/nemo/guardrails/latest/llms.txt
> - v0.24.1: https://docs.nvidia.com/nemo/guardrails/v0.24.1/llms.txt
> - v0.24.0: https://docs.nvidia.com/nemo/guardrails/v0.24.0/llms.txt
> - v0.23.0: https://docs.nvidia.com/nemo/guardrails/v0.23.0/llms.txt
> - v0.22.0: https://docs.nvidia.com/nemo/guardrails/v0.22.0/llms.txt

> 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 AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/guardrails/_mcp/server.

# nemoguardrails.library.policyai.actions

PolicyAI Integration for NeMo Guardrails.

PolicyAI provides content moderation and policy enforcement capabilities
for LLM applications. This integration allows using PolicyAI as an input
and output rail for content moderation.

For more information, see: [https://musubilabs.ai](https://musubilabs.ai)

## Module Contents

### Functions

| Name                                                                              | Description                                |
| --------------------------------------------------------------------------------- | ------------------------------------------ |
| [`_policyai_outcome`](#nemoguardrails-library-policyai-actions-_policyai_outcome) | -                                          |
| [`call_policyai_api`](#nemoguardrails-library-policyai-actions-call_policyai_api) | Call the PolicyAI API to evaluate content. |

### Data

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

### API

```python
nemoguardrails.library.policyai.actions._policyai_outcome(
    metadata: dict
) -> nemoguardrails.actions.rail_outcome.RailOutcome
```

```python
nemoguardrails.library.policyai.actions.call_policyai_api(
    text: typing.Optional[str] = None,
    tag_name: typing.Optional[str] = None,
    http_client: typing.Optional[nemoguardrails.http.HTTPClient] = None,
    kwargs = {}
) -> nemoguardrails.actions.rail_outcome.RailOutcome
```

async

Call the PolicyAI API to evaluate content.

**Parameters:**

**`text`** `Optional[str]` — default: None

The text content to evaluate.

---

**`tag_name`** `Optional[str]` — default: None

Optional tag name for the PolicyAI evaluation.
If not provided, uses POLICYAI\_TAG\_NAME env var or "prod".

---

**Returns:** `RailOutcome`

RailOutcome indicating whether the content is blocked. Assessment, category,

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