nemoguardrails.integrations.langchain.middleware
Module Contents
Classes
| Name | Description |
|---|---|
GuardrailsMiddleware | - |
InputRailsMiddleware | - |
OutputRailsMiddleware | - |
Data
API
class nemoguardrails.integrations.langchain.middleware.GuardrailsMiddleware( config_path: typing.Optional[str] = None, config_yaml: typing.Optional[str] = None, raise_on_violation: bool = False, blocked_input_message: str = 'I cannot process this requ..., blocked_output_message: str = 'I cannot provide this resp..., enable_input_rails: bool = True, enable_output_rails: bool = True )
Bases: AgentMiddleware
rails
= LLMRails(config=config)
nemoguardrails.integrations.langchain.middleware.GuardrailsMiddleware._convert_to_rails_messages( messages: typing.List[langchain_core.messages.BaseMessage] ) -> typing.List[typing.Dict[str, typing.Any]]
nemoguardrails.integrations.langchain.middleware.GuardrailsMiddleware._get_last_ai_message( messages: typing.List[langchain_core.messages.BaseMessage] ) -> typing.Optional[langchain_core.messages.AIMessage]
nemoguardrails.integrations.langchain.middleware.GuardrailsMiddleware._get_last_user_message( messages: typing.List[langchain_core.messages.BaseMessage] ) -> typing.Optional[langchain_core.messages.HumanMessage]
nemoguardrails.integrations.langchain.middleware.GuardrailsMiddleware._handle_guardrail_failure( result: nemoguardrails.rails.llm.options.RailsResult, rail_type: str, blocked_message: str ) -> None
nemoguardrails.integrations.langchain.middleware.GuardrailsMiddleware._has_input_rails() -> bool
nemoguardrails.integrations.langchain.middleware.GuardrailsMiddleware._has_output_rails() -> bool
nemoguardrails.integrations.langchain.middleware.GuardrailsMiddleware._replace_last_ai_message( messages: list, replacement: langchain_core.messages.AIMessage ) -> list
nemoguardrails.integrations.langchain.middleware.GuardrailsMiddleware._replace_last_human_message( messages: list, replacement: langchain_core.messages.HumanMessage ) -> list
nemoguardrails.integrations.langchain.middleware.GuardrailsMiddleware.aafter_model( state: langchain.agents.middleware.types.AgentState, runtime: langgraph.runtime.Runtime ) -> typing.Optional[typing.Dict[str, typing.Any]]
async
nemoguardrails.integrations.langchain.middleware.GuardrailsMiddleware.abefore_model( state: langchain.agents.middleware.types.AgentState, runtime: langgraph.runtime.Runtime ) -> typing.Optional[typing.Dict[str, typing.Any]]
async
nemoguardrails.integrations.langchain.middleware.GuardrailsMiddleware.after_model( state: langchain.agents.middleware.types.AgentState, runtime: langgraph.runtime.Runtime ) -> typing.Optional[typing.Dict[str, typing.Any]]
nemoguardrails.integrations.langchain.middleware.GuardrailsMiddleware.before_model( state: langchain.agents.middleware.types.AgentState, runtime: langgraph.runtime.Runtime ) -> typing.Optional[typing.Dict[str, typing.Any]]
class nemoguardrails.integrations.langchain.middleware.InputRailsMiddleware( config_path: typing.Optional[str] = None, config_yaml: typing.Optional[str] = None, raise_on_violation: bool = False, blocked_input_message: str = 'I cannot process this requ... )
Bases: GuardrailsMiddleware
nemoguardrails.integrations.langchain.middleware.InputRailsMiddleware.aafter_model( state: langchain.agents.middleware.types.AgentState, runtime: langgraph.runtime.Runtime ) -> typing.Optional[typing.Dict[str, typing.Any]]
async
nemoguardrails.integrations.langchain.middleware.InputRailsMiddleware.after_agent( state: langchain.agents.middleware.types.AgentState, runtime: langgraph.runtime.Runtime ) -> typing.Optional[typing.Dict[str, typing.Any]]
class nemoguardrails.integrations.langchain.middleware.OutputRailsMiddleware( config_path: typing.Optional[str] = None, config_yaml: typing.Optional[str] = None, raise_on_violation: bool = False, blocked_output_message: str = 'I cannot provide this resp... )
Bases: GuardrailsMiddleware
nemoguardrails.integrations.langchain.middleware.OutputRailsMiddleware.abefore_model( state: langchain.agents.middleware.types.AgentState, runtime: langgraph.runtime.Runtime ) -> typing.Optional[typing.Dict[str, typing.Any]]
async
nemoguardrails.integrations.langchain.middleware.OutputRailsMiddleware.before_agent( state: langchain.agents.middleware.types.AgentState, runtime: langgraph.runtime.Runtime ) -> typing.Optional[typing.Dict[str, typing.Any]]
nemoguardrails.integrations.langchain.middleware.log = logging.getLogger(__name__)