Length Limit
The length_limit guardrail prevents overly long prompts that could be expensive, slow, or abusive.
Import
Section titled “Import”from pydantic_ai_guardrails.guardrails.input import length_limitBasic Usage
Section titled “Basic Usage”from pydantic_ai_guardrails import GuardedAgentfrom pydantic_ai_guardrails.guardrails.input import length_limit
guarded_agent = GuardedAgent( agent, input_guardrails=[ length_limit(max_chars=1000), ],)Parameters
Section titled “Parameters”| Parameter | Type | Default | Description |
|---|---|---|---|
max_chars | int | None | None | Maximum character count |
max_tokens | int | None | None | Maximum token count (requires tiktoken) |
encoding | str | 'cl100k_base' | Tiktoken encoding for token counting |
Examples
Section titled “Examples”Character Limit
Section titled “Character Limit”# Block prompts over 2000 charactersguardrail = length_limit(max_chars=2000)Token Limit
Section titled “Token Limit”# Block prompts over 500 tokens# Requires: pip install tiktokenguardrail = length_limit(max_tokens=500)Both Limits
Section titled “Both Limits”# Block if either limit is exceededguardrail = length_limit( max_chars=2000, max_tokens=500,)Custom Encoding
Section titled “Custom Encoding”# Use GPT-4 encodingguardrail = length_limit( max_tokens=500, encoding='cl100k_base', # Default for GPT-4)Violation Result
Section titled “Violation Result”When triggered, returns:
{ 'tripwire_triggered': True, 'message': 'Input exceeds maximum length of 1000 characters', 'severity': 'medium', 'metadata': { 'length': 1500, 'max_length': 1000, 'limit_type': 'chars', },}Use Cases
Section titled “Use Cases”- Cost control: Prevent expensive long prompts
- Abuse prevention: Block prompt stuffing attacks
- Performance: Ensure reasonable response times
- Rate limiting: Indirect limit on resource usage