Agno Integration
Enterprise-grade AI safety guardrails for the Agno multi-agent framework.
Installation
pip install sentinelseed agno
# or
pip install "sentinelseed[agno]"
Features
- THSP Protocol - Four-gate validation (Truth, Harm, Scope, Purpose)
- 700+ Detection Patterns - Comprehensive pattern matching
- Jailbreak Detection - Prompt injection protection
- Native Integration - Extends Agno's
BaseGuardrail - Async Support - Works with both
run()andarun()
Quick Start
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from sentinelseed.integrations.agno import SentinelGuardrail
agent = Agent(
name="Safe Assistant",
model=OpenAIChat(id="gpt-4o-mini"),
pre_hooks=[SentinelGuardrail()],
)
response = agent.run("Hello! How can you help me?")
Configuration
SentinelGuardrail (Input)
from sentinelseed.integrations.agno import SentinelGuardrail
guardrail = SentinelGuardrail(
seed_level="standard", # minimal, standard, full
block_on_failure=True,
max_text_size=100000,
validation_timeout=5.0,
fail_closed=False,
log_violations=True,
)
SentinelOutputGuardrail (Output)
from sentinelseed.integrations.agno import SentinelOutputGuardrail
guardrail = SentinelOutputGuardrail(
seed_level="standard",
max_text_size=100000,
validation_timeout=5.0,
)
result = guardrail.validate_output(response.content)
if not result["safe"]:
print(f"Output flagged: {result['concerns']}")
Safety Levels
| Level | Description | Use Case |
|---|---|---|
minimal | Core safety patterns | Low-risk, testing |
standard | Balanced coverage | Production |
full | Maximum coverage | Security-critical |
Monitoring
Tracking Violations
guardrail = SentinelGuardrail(log_violations=True)
violations = guardrail.get_violations()
for v in violations:
print(f"Risk: {v['risk_level']}, Concerns: {v['concerns']}")
Statistics
stats = guardrail.get_stats()
print(f"Total: {stats['total_validations']}")
print(f"Blocked: {stats['blocked_count']}")
print(f"Avg time: {stats['avg_validation_time_ms']:.2f}ms")
Combining Guardrails
from agno.guardrails import PIIDetectionGuardrail
from sentinelseed.integrations.agno import SentinelGuardrail
agent = Agent(
name="Secure Agent",
model=model,
pre_hooks=[
PIIDetectionGuardrail(),
SentinelGuardrail(),
],
)
Validation Result
{
"safe": bool,
"should_proceed": bool,
"concerns": list[str],
"risk_level": str, # low, medium, high, critical
"gates": dict,
"validation_time_ms": float,
}