class Riffer::Guardrail
Base class for guardrails that process input and output in the agent pipeline.
class MyGuardrail < Riffer::Guardrail def process_input(messages, context:) # Return pass(messages), transform(modified_messages), or block(reason) pass(messages) end def process_output(response, messages:, context:) # Return pass(response), transform(modified_response), or block(reason) pass(response) end end
Public Instance Methods
Source
# File lib/riffer/guardrail.rb, line 22 def process_input(messages, context:) pass(messages) end
Processes input messages before theyโre sent to the LLM; override in subclasses.
Source
# File lib/riffer/guardrail.rb, line 30 def process_output(response, messages:, context:) pass(response) end
Processes the output response after itโs received from the LLM; override in subclasses.
Protected Instance Methods
Source
# File lib/riffer/guardrail.rb, line 53 def block(reason, metadata: nil) Riffer::Guardrails::Result.block(reason, metadata: metadata) end
Creates a block result that halts execution.
Source
# File lib/riffer/guardrail.rb, line 39 def pass(data) Riffer::Guardrails::Result.pass(data) end
Creates a pass result that continues with unchanged data.
Source
# File lib/riffer/guardrail.rb, line 46 def transform(data) Riffer::Guardrails::Result.transform(data) end
Creates a transform result that continues with transformed data.