Expand description
Adapter that wraps guardrails as an ObservabilityHook.
GuardrailHook runs input guardrails on HookEvent::PreLlmCall and output
guardrails on HookEvent::PostLlmCall, mapping GuardrailResult variants
to HookAction values.
§Example
ⓘ
use neuron_runtime::{GuardrailHook, InputGuardrail, OutputGuardrail, GuardrailResult};
struct BlockSecrets;
impl InputGuardrail for BlockSecrets {
fn check(&self, input: &str) -> impl Future<Output = GuardrailResult> + Send {
async move {
if input.contains("API_KEY") {
GuardrailResult::Tripwire("secret detected".to_string())
} else {
GuardrailResult::Pass
}
}
}
}
let hook = GuardrailHook::new().input_guardrail(BlockSecrets);
// Use `hook` as an ObservabilityHook in the agent loopStructs§
- Guardrail
Hook - An
ObservabilityHookthat runs guardrails on LLM input and output.