You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
✨ New Features
Tenant Rate Limiting: Two-layer execution rate limiting system using a token-bucket algorithm. Layer 1 enforces per-tenant RPM ceilings, Layer 2 enforces equal-share budgets across bots within a tenant. Fully configurable via longtrainer.yaml or RateLimitConfig.
Per-Bot Overrides: Fine-grained rate limit overrides for specific bots via bot_overrides configuration.
CLI Rate Limit Recovery: The longtrainer chat and longtrainer add-doc commands now auto-retry with a progress bar when rate limits are hit.
API 429 Responses: FastAPI server returns proper 429 Too Many Requests with Retry-After headers when rate limits are exceeded.
🔧 Improvements
Interactive Demo: Added demos/longtrainer_demo.py — a complete RAG workflow demo with live Rich progress tracking. Fully env-var driven (supports OpenAI, Gemini, Ollama, any vector store) with zero hardcoded config.
CLI Cleanup: Reverted CLI from Rich TUI panels to clean click.echo/secho output. Removed rich>=13.0 from core dependencies.
Removed VHS/TUI assets: Cleaned up .tape files, Makefile, and demo GIFs from the repository.
📖 Documentation
New rate_limiting.md guide covering two-layer enforcement, YAML configuration, API error handling, and CLI auto-retry.
Updated README with embedded demo screenshot and streamlined Quick Start section.