summaryrefslogtreecommitdiffstats
path: root/g4f/Provider/Providers/DfeHub.py
diff options
context:
space:
mode:
authorxtekky <98614666+xtekky@users.noreply.github.com>2023-07-21 22:39:45 +0200
committerGitHub <noreply@github.com>2023-07-21 22:39:45 +0200
commite0d5887f639b1ed31d9d2d3c8728634857d871fc (patch)
tree7d834031cfcfe7f4ca2da29977c347a4e19cbace /g4f/Provider/Providers/DfeHub.py
parentUpdate README.md (diff)
parentUpdate Provider.DfeHub to consider rate-limit (diff)
downloadgpt4free-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
Diffstat (limited to '')
-rw-r--r--g4f/Provider/Providers/DfeHub.py10
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'])