From e8a90abdc16d4789bcd5817e892189957e7cea9a Mon Sep 17 00:00:00 2001 From: based Date: Tue, 30 Jan 2024 05:15:16 +1000 Subject: [PATCH] fix tiering not showing due to change with OAI rate limits --- OpenAI.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/OpenAI.py b/OpenAI.py index cb0614e..7b5e454 100644 --- a/OpenAI.py +++ b/OpenAI.py @@ -2,7 +2,7 @@ import APIKey oai_api_url = "https://api.openai.com/v1" oai_t1_rpm_limits = {"gpt-3.5-turbo": 3500, "gpt-4": 500, "gpt-4-32k": 20} -oai_tiers = {3: 'Tier1', 5: 'Tier2', 7: 'Tier3', 10: 'Tier4', 20: 'Tier5'} +oai_tiers = {40000: 'Free', 60000: 'Tier1', 80000: 'Tier2', 160000: 'Tier3', 1000000: 'Tier4', 2000000: 'Tier5'} async def get_oai_model(key: APIKey, session): async with session.get(f'{oai_api_url}/models', headers={'Authorization': f'Bearer {key.api_key}'}) as response: @@ -28,6 +28,7 @@ async def get_oai_key_attribs(key: APIKey, session): headers={'Authorization': f'Bearer {key.api_key}', 'accept': 'application/json'}, json=chat_object) as response: if response.status in [400, 429]: + print(response.headers) data = await response.json() message = data["error"]["type"] if message is None: @@ -54,14 +55,14 @@ async def get_oai_key_attribs(key: APIKey, session): async def get_oai_key_tier(key: APIKey, session): if key.trial: return 'Free' - tts_object = {"model": "tts-1-hd", "input": "", "voice": "alloy"} + chat_object = {"model": f'gpt-3.5-turbo', "messages": [{"role": "user", "content": ""}], "max_tokens": 0} for _ in range(3): # we'll give it 3 shots if oai decides to shid itself. - async with session.post(f'{oai_api_url}/audio/speech', + async with session.post(f'{oai_api_url}/chat/completions', headers={'Authorization': f'Bearer {key.api_key}', 'accept': 'application/json'}, - json=tts_object) as response: + json=chat_object) as response: if response.status in [400, 429]: try: - return oai_tiers[int(response.headers.get("x-ratelimit-limit-requests"))] + return oai_tiers[int(response.headers.get("x-ratelimit-limit-tokens"))] except (KeyError, TypeError, ValueError): continue else: