redis_openai_agents.RedisRateLimitGuardrail#
- class RedisRateLimitGuardrail(redis_url='redis://localhost:6379', key_prefix='rate_limit', requests_per_minute=None, tokens_per_minute=None, window_type='sliding', window_seconds=60)[source]#
Redis-backed rate limiting guardrail for OpenAI Agents SDK.
Enforces rate limits using Redis counters with configurable time windows and limit types (requests, tokens, or both).
- requests_per_minute#
Maximum requests allowed per minute per user.
- tokens_per_minute#
Maximum tokens allowed per minute per user.
- window_type#
Rate limiting algorithm (“sliding” or “fixed”).
Initialize the rate limit guardrail.
- Parameters:
redis_url (str) – Redis connection URL.
key_prefix (str) – Prefix for rate limit keys.
requests_per_minute (int | None) – Max requests per minute (None = unlimited).
tokens_per_minute (int | None) – Max tokens per minute (None = unlimited).
window_type (str) – “sliding” or “fixed” window algorithm.
window_seconds (int) – Duration of rate limit window.
- __init__(redis_url='redis://localhost:6379', key_prefix='rate_limit', requests_per_minute=None, tokens_per_minute=None, window_type='sliding', window_seconds=60)[source]#
Initialize the rate limit guardrail.
- Parameters:
redis_url (str) – Redis connection URL.
key_prefix (str) – Prefix for rate limit keys.
requests_per_minute (int | None) – Max requests per minute (None = unlimited).
tokens_per_minute (int | None) – Max tokens per minute (None = unlimited).
window_type (str) – “sliding” or “fixed” window algorithm.
window_seconds (int) – Duration of rate limit window.
- Return type:
None
Methods
__init__([redis_url, key_prefix, ...])Initialize the rate limit guardrail.
check_rate_limit(user_id[, tokens_used])Check if request is within rate limits.
close()Close Redis connection.
get_rate_limit_info(user_id)Get current rate limit status for a user.
guardrail_function(context, agent, input_data)Guardrail function compatible with OpenAI Agents SDK.
initialize()Initialize Redis connection.
Attributes
nameGuardrail name for SDK registration.