Overview
Control API request rates with token bucket algorithm. Prevents rate limit errors and manages costs.
Quick Start
from praisonaiagents import Agent
from praisonaiagents.config.feature_configs import ExecutionConfig
from praisonaiagents.llm import RateLimiter
limiter = RateLimiter(requests_per_minute=60, burst=5)
agent = Agent(
name="Bot",
instructions="Helper",
execution=ExecutionConfig(rate_limiter=limiter)
)
response = agent.chat("Hello")
from praisonaiagents import Agent
from praisonaiagents.config.feature_configs import ExecutionConfig
agent = Agent(
name="Bot",
instructions="Helper",
execution=ExecutionConfig(max_rpm=60)
)
response = agent.chat("Hello")
The standalone rate_limiter= parameter is deprecated. Use execution=ExecutionConfig(rate_limiter=obj) instead.
Parameters
| Parameter | Description | Default |
|---|
requests_per_minute | Max requests per minute | Required |
tokens_per_minute | Token-based limiting (optional) | None |
burst | Max burst size | 1 |
Manual Usage
limiter = RateLimiter(requests_per_minute=60)
# Sync
limiter.acquire() # Blocks if rate exceeded
# Async
await limiter.acquire_async()
# Non-blocking
if limiter.try_acquire():
# Token acquired
pass
CLI
praisonai "task" --rpm 60