Skip to main content

Overview

Control API request rates with token bucket algorithm. Prevents rate limit errors and manages costs.

Quick Start

from praisonaiagents import Agent
from praisonaiagents.llm import RateLimiter

limiter = RateLimiter(requests_per_minute=60, burst=5)

agent = Agent(
    name="Bot",
    instructions="Helper",
    rate_limiter=limiter
)

# Rate limiter automatically applied to all chat calls
response = agent.chat("Hello")

Parameters

ParameterDescriptionDefault
requests_per_minuteMax requests per minuteRequired
tokens_per_minuteToken-based limiting (optional)None
burstMax burst size1

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