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

## Module Contents

### Functions

| Name                                                                                                                        | Description                                          |
| --------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
| [`_detect_language`](#nemoguardrails-library-content_safety-actions-_detect_language)                                       | -                                                    |
| [`_get_reasoning_enabled`](#nemoguardrails-library-content_safety-actions-_get_reasoning_enabled)                           | -                                                    |
| [`_get_refusal_message`](#nemoguardrails-library-content_safety-actions-_get_refusal_message)                               | -                                                    |
| [`content_safety_check_input`](#nemoguardrails-library-content_safety-actions-content_safety_check_input)                   | -                                                    |
| [`content_safety_check_output`](#nemoguardrails-library-content_safety-actions-content_safety_check_output)                 | -                                                    |
| [`content_safety_check_output_mapping`](#nemoguardrails-library-content_safety-actions-content_safety_check_output_mapping) | Mapping function for content\_safety\_check\_output. |
| [`detect_language`](#nemoguardrails-library-content_safety-actions-detect_language)                                         | -                                                    |

### Data

[`DEFAULT_REFUSAL_MESSAGES`](#nemoguardrails-library-content_safety-actions-DEFAULT_REFUSAL_MESSAGES)

[`SUPPORTED_LANGUAGES`](#nemoguardrails-library-content_safety-actions-SUPPORTED_LANGUAGES)

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

### API

```python
nemoguardrails.library.content_safety.actions._detect_language(
    text: str
) -> typing.Optional[str]
```

```python
nemoguardrails.library.content_safety.actions._get_reasoning_enabled(
    llm_task_manager: nemoguardrails.llm.taskmanager.LLMTaskManager
) -> bool
```

```python
nemoguardrails.library.content_safety.actions._get_refusal_message(
    lang: str,
    custom_messages: typing.Optional[typing.Dict[str, str]]
) -> str
```

```python
nemoguardrails.library.content_safety.actions.content_safety_check_input(
    llms: typing.Dict[str, nemoguardrails.types.LLMModel],
    llm_task_manager: nemoguardrails.llm.taskmanager.LLMTaskManager,
    model_name: typing.Optional[str] = None,
    context: typing.Optional[dict] = None,
    model_caches: typing.Optional[typing.Dict[str, nemoguardrails.llm.cache.CacheInterface]] = None,
    kwargs = {}
) -> dict
```

async

```python
nemoguardrails.library.content_safety.actions.content_safety_check_output(
    llms: typing.Dict[str, nemoguardrails.types.LLMModel],
    llm_task_manager: nemoguardrails.llm.taskmanager.LLMTaskManager,
    model_name: typing.Optional[str] = None,
    context: typing.Optional[dict] = None,
    model_caches: typing.Optional[typing.Dict[str, nemoguardrails.llm.cache.CacheInterface]] = None,
    kwargs = {}
) -> dict
```

async

```python
nemoguardrails.library.content_safety.actions.content_safety_check_output_mapping(
    result: dict
) -> bool
```

Mapping function for content\_safety\_check\_output.

**Returns:** `bool`

True if the content should be blocked (i.e. allowed is False),

```python
nemoguardrails.library.content_safety.actions.detect_language(
    context: typing.Optional[dict] = None,
    config: typing.Optional[dict] = None
) -> dict
```

async

```python
nemoguardrails.library.content_safety.actions.DEFAULT_REFUSAL_MESSAGES: Dict[str, str] = {'en': "I'm sorry, I can't respond to that.", 'es': 'Lo siento, no puedo respond...
```

```python
nemoguardrails.library.content_safety.actions.SUPPORTED_LANGUAGES: FrozenSet[str] = frozenset({'en', 'es', 'zh', 'de', 'fr', 'hi', 'ja', 'ar', 'th'})
```

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