Skip to content

Length Limit

The length_limit guardrail prevents overly long prompts that could be expensive, slow, or abusive.

from pydantic_ai_guardrails.guardrails.input import length_limit
from pydantic_ai_guardrails import GuardedAgent
from pydantic_ai_guardrails.guardrails.input import length_limit
guarded_agent = GuardedAgent(
agent,
input_guardrails=[
length_limit(max_chars=1000),
],
)
ParameterTypeDefaultDescription
max_charsint | NoneNoneMaximum character count
max_tokensint | NoneNoneMaximum token count (requires tiktoken)
encodingstr'cl100k_base'Tiktoken encoding for token counting
# Block prompts over 2000 characters
guardrail = length_limit(max_chars=2000)
# Block prompts over 500 tokens
# Requires: pip install tiktoken
guardrail = length_limit(max_tokens=500)
# Block if either limit is exceeded
guardrail = length_limit(
max_chars=2000,
max_tokens=500,
)
# Use GPT-4 encoding
guardrail = length_limit(
max_tokens=500,
encoding='cl100k_base', # Default for GPT-4
)

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',
},
}
  • Cost control: Prevent expensive long prompts
  • Abuse prevention: Block prompt stuffing attacks
  • Performance: Ensure reasonable response times
  • Rate limiting: Indirect limit on resource usage