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(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__)