Python API Reference#

This reference is auto-generated from source code docstrings.

Core Classes#

The primary entry points for the NeMo Guardrails library.

nemoguardrails.rails.llm.llmrails.LLMRails

Rails based on a given configuration.

nemoguardrails.rails.llm.config.RailsConfig

Configuration object for the models and the rails.

Generation Options and Responses#

Control generation behavior and inspect results.

nemoguardrails.rails.llm.options.GenerationOptions

A set of options that should be applied during a generation.

nemoguardrails.rails.llm.options.GenerationResponse

nemoguardrails.rails.llm.options.GenerationRailsOptions

Options for what rails should be used during the generation.

nemoguardrails.rails.llm.options.GenerationLogOptions

Options for what should be included in the generation log.

nemoguardrails.rails.llm.options.GenerationLog

Contains additional logging information associated with a generation call.

nemoguardrails.rails.llm.options.GenerationStats

General stats about the generation.

nemoguardrails.rails.llm.options.ActivatedRail

A rail that was activated during the generation.

nemoguardrails.rails.llm.options.ExecutedAction

Information about an action that was executed.

Actions#

Register custom Python functions as actions for use in guardrails flows.

nemoguardrails.actions.action

Decorator to mark a function or class as an action.

Enumerations#

Extensibility — LLM types and protocols#

Public types used by the Custom LLM Model and Custom LLM Framework extension paths.

nemoguardrails.types.LLMModel

Protocol that all LLM backends must implement.

nemoguardrails.types.LLMFramework

Protocol for pluggable LLM framework backends.

nemoguardrails.types.ChatMessage

ChatMessage(role: nemoguardrails.types.Role, content: Union[str, List[Dict[str, Any]], NoneType] = None, tool_calls: Optional[List[nemoguardrails.types.ToolCall]] = None, tool_call_id: Optional[str] = None, name: Optional[str] = None, provider_metadata: Dict[str, Any] = <factory>)

nemoguardrails.types.LLMResponse

LLMResponse(content: str, reasoning: Optional[str] = None, tool_calls: Optional[List[nemoguardrails.types.ToolCall]] = None, model: Optional[str] = None, finish_reason: Optional[Literal['stop', 'length', 'tool_calls', 'content_filter', 'error', 'other']] = None, stop_sequence: Optional[str] = None, request_id: Optional[str] = None, usage: Optional[nemoguardrails.types.UsageInfo] = None, provider_metadata: Optional[Dict[str, Any]] = None)

nemoguardrails.types.LLMResponseChunk

LLMResponseChunk(delta_content: Optional[str] = None, delta_reasoning: Optional[str] = None, delta_tool_calls: Optional[List[nemoguardrails.types.ToolCall]] = None, model: Optional[str] = None, finish_reason: Optional[Literal['stop', 'length', 'tool_calls', 'content_filter', 'error', 'other']] = None, request_id: Optional[str] = None, usage: Optional[nemoguardrails.types.UsageInfo] = None, provider_metadata: Optional[Dict[str, Any]] = None)

nemoguardrails.types.ToolCall

ToolCall(id: str, type: str = 'function', function: nemoguardrails.types.ToolCallFunction = <factory>)

nemoguardrails.types.ToolCallFunction

ToolCallFunction(name: str, arguments: Dict[str, Any])

nemoguardrails.types.UsageInfo

UsageInfo(input_tokens: int = 0, output_tokens: int = 0, total_tokens: int = 0, reasoning_tokens: Optional[int] = None, cached_tokens: Optional[int] = None)