nemoguardrails.guardrails.guardrails_types

View as Markdown

Module Contents

Classes

NameDescription
RailDirectionDirection of a rail check, used for logging.
RailResultResult of a rail safety check.

Functions

NameDescription
_set_request_idSet an explicit request ID (e.g., derived from an OTEL trace ID).
get_request_idReturn the current per-request correlation ID.
reset_request_idRestore the request ID ContextVar to its previous value.
set_new_request_idGenerate a random request ID, set it in the current context, and return the reset token.
truncateReturn str(text) truncated to max_len characters (default: LOG_CONTENT_TRUNCATE_LENGTH).

Data

LLMMessage

LLMMessages

LOG_CONTENT_TRUNCATE_LENGTH

REQUEST_ID_BYTES

REQUEST_ID_HEX_CHARS

_request_id_var

API

class nemoguardrails.guardrails.guardrails_types.RailDirection

Bases: enum.Enum

Direction of a rail check, used for logging.

INPUT
= 'Input'
OUTPUT
= 'Output'
class nemoguardrails.guardrails.guardrails_types.RailResult(
is_safe: bool,
reason: str | None = None
)
Dataclass

Result of a rail safety check.

is_safe
bool
reason
str | None = None
nemoguardrails.guardrails.guardrails_types._set_request_id(
request_id: str
) -> contextvars.Token[str]

Set an explicit request ID (e.g., derived from an OTEL trace ID).

Unlike set_new_request_id which generates a random ID, this accepts a caller-provided string. Returns the reset token for use with reset_request_id.

nemoguardrails.guardrails.guardrails_types.get_request_id() -> str

Return the current per-request correlation ID.

nemoguardrails.guardrails.guardrails_types.reset_request_id(
token: contextvars.Token[str]
) -> None

Restore the request ID ContextVar to its previous value.

nemoguardrails.guardrails.guardrails_types.set_new_request_id() -> contextvars.Token[str]

Generate a random request ID, set it in the current context, and return the reset token.

nemoguardrails.guardrails.guardrails_types.truncate(
text: object,
max_len: int | None = None
) -> str

Return str(text) truncated to max_len characters (default: LOG_CONTENT_TRUNCATE_LENGTH).

nemoguardrails.guardrails.guardrails_types.LLMMessage: TypeAlias = dict[str, str]
nemoguardrails.guardrails.guardrails_types.LLMMessages: TypeAlias = list[LLMMessage]
nemoguardrails.guardrails.guardrails_types.LOG_CONTENT_TRUNCATE_LENGTH = 200
nemoguardrails.guardrails.guardrails_types.REQUEST_ID_BYTES = 8
nemoguardrails.guardrails.guardrails_types.REQUEST_ID_HEX_CHARS = REQUEST_ID_BYTES * 2
nemoguardrails.guardrails.guardrails_types._request_id_var: ContextVar[str] = ContextVar('request_id', default='no-req-id')