diff options
author | xtekky <98614666+xtekky@users.noreply.github.com> | 2023-07-21 22:39:45 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-21 22:39:45 +0200 |
commit | e0d5887f639b1ed31d9d2d3c8728634857d871fc (patch) | |
tree | 7d834031cfcfe7f4ca2da29977c347a4e19cbace | |
parent | Update README.md (diff) | |
parent | Update Provider.DfeHub to consider rate-limit (diff) | |
download | gpt4free-e0d5887f639b1ed31d9d2d3c8728634857d871fc.tar gpt4free-e0d5887f639b1ed31d9d2d3c8728634857d871fc.tar.gz gpt4free-e0d5887f639b1ed31d9d2d3c8728634857d871fc.tar.bz2 gpt4free-e0d5887f639b1ed31d9d2d3c8728634857d871fc.tar.lz gpt4free-e0d5887f639b1ed31d9d2d3c8728634857d871fc.tar.xz gpt4free-e0d5887f639b1ed31d9d2d3c8728634857d871fc.tar.zst gpt4free-e0d5887f639b1ed31d9d2d3c8728634857d871fc.zip |
-rw-r--r-- | g4f/Provider/Providers/DfeHub.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/g4f/Provider/Providers/DfeHub.py b/g4f/Provider/Providers/DfeHub.py index a1488bc5..afc9861a 100644 --- a/g4f/Provider/Providers/DfeHub.py +++ b/g4f/Provider/Providers/DfeHub.py @@ -1,6 +1,8 @@ import os, requests from ...typing import sha256, Dict, get_type_hints import json +import re +import time url = "https://chat.dfehub.com/api/chat" model = ['gpt-3.5-turbo'] @@ -34,12 +36,18 @@ def _create_completion(model: str, messages: list, stream: bool, **kwargs): 'presence_penalty': 0, 'frequency_penalty': 0, 'top_p': 1, + "stream": True, } - response = requests.post('https://chat.dfehub.com/api/openai/v1/chat/completions', headers=headers, json=json_data) for chunk in response.iter_lines(): + if b'detail' in chunk: + delay = re.findall(r"\d+\.\d+", chunk.decode()) + delay = float(delay[-1]) + print(f"Provider.DfeHub::Rate Limit Reached::Waiting {delay} seconds") + time.sleep(delay) + yield from _create_completion(model, messages, stream, **kwargs) if b'content' in chunk: data = json.loads(chunk.decode().split('data: ')[1]) yield (data['choices'][0]['delta']['content']) |