nemoguardrails.library.ai_defense.actions

View as Markdown

Prompt/Response protection using Cisco AI Defense.

Module Contents

Functions

NameDescription
_ai_defense_failure_outcome-
_ai_defense_outcome-
ai_defense_inspectInspect a user prompt or bot response with Cisco AI Defense.

Data

DEFAULT_TIMEOUT

log

API

nemoguardrails.library.ai_defense.actions._ai_defense_failure_outcome(
fail_open: bool,
failure: str
) -> nemoguardrails.actions.rail_outcome.RailOutcome
nemoguardrails.library.ai_defense.actions._ai_defense_outcome(
is_blocked: bool
) -> nemoguardrails.actions.rail_outcome.RailOutcome
nemoguardrails.library.ai_defense.actions.ai_defense_inspect(
config: nemoguardrails.RailsConfig,
user_prompt: typing.Optional[str] = None,
bot_response: typing.Optional[str] = None,
http_client: typing.Optional[nemoguardrails.http.HTTPClient] = None,
kwargs = {}
) -> nemoguardrails.actions.rail_outcome.RailOutcome
async

Inspect a user prompt or bot response with Cisco AI Defense.

A safe response is allowed and an unsafe response is blocked. Transport failures and malformed responses follow the configured fail_open policy, which defaults to fail closed.

Parameters:

config
RailsConfig

Rails configuration containing the AI Defense settings.

user_prompt
Optional[str]Defaults to None

User content to inspect.

bot_response
Optional[str]Defaults to None

Bot content to inspect. Takes precedence over user_prompt when both are provided.

http_client
Optional[HTTPClient]Defaults to None

Optional caller-owned HTTP client.

**kwargs
Defaults to {}

Additional action parameters. The user value, when present, is forwarded as request metadata.

Returns: RailOutcome

The allow or block outcome from AI Defense or the failure policy.

Raises:

  • ValueError: If the required environment variables or content are missing.
nemoguardrails.library.ai_defense.actions.DEFAULT_TIMEOUT = 30.0
nemoguardrails.library.ai_defense.actions.log = logging.getLogger(__name__)