Skip to main content

Module guardrail_hook

Module guardrail_hook 

Source
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 loop

Structs§

GuardrailHook
An ObservabilityHook that runs guardrails on LLM input and output.