Enforce API use limits depending on whether the server has billing enabled

and whether the given user is subscribed
This commit is contained in:
sabaimran
2023-11-24 21:55:16 -08:00
parent 9c868ee10b
commit e5b1350523
5 changed files with 45 additions and 11 deletions

View File

@@ -573,8 +573,8 @@ async def chat(
n: Optional[int] = 5,
d: Optional[float] = 0.18,
stream: Optional[bool] = False,
rate_limiter_per_minute=Depends(ApiUserRateLimiter(requests=30, window=60)),
rate_limiter_per_day=Depends(ApiUserRateLimiter(requests=500, window=60 * 60 * 24)),
rate_limiter_per_minute=Depends(ApiUserRateLimiter(requests=10, subscribed_requests=60, window=60)),
rate_limiter_per_day=Depends(ApiUserRateLimiter(requests=10, subscribed_requests=600, window=60 * 60 * 24)),
) -> Response:
user = request.user.object