Skip to content

Commit 3ea8f5e

Browse files
committed
v1.8.9-beta1 fix bugs
1 parent 8f28935 commit 3ea8f5e

File tree

6 files changed

+22
-20
lines changed

6 files changed

+22
-20
lines changed

chatgpt/ChatService.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -404,7 +404,7 @@ async def get_download_url(self, file_id):
404404
url = f"{self.base_url}/files/{file_id}/download"
405405
headers = self.base_headers.copy()
406406
try:
407-
r = await self.s.get(url, headers=headers, timeout=10)
407+
r = await self.s.get(url, headers=headers, timeout=30)
408408
if r.status_code == 200:
409409
download_url = r.json().get('download_url')
410410
return download_url
@@ -418,7 +418,7 @@ async def get_attachment_url(self, file_id, conversation_id):
418418
url = f"{self.base_url}/conversation/{conversation_id}/attachment/{file_id}/download"
419419
headers = self.base_headers.copy()
420420
try:
421-
r = await self.s.get(url, headers=headers, timeout=10)
421+
r = await self.s.get(url, headers=headers, timeout=30)
422422
if r.status_code == 200:
423423
download_url = r.json().get('download_url')
424424
return download_url
@@ -432,7 +432,7 @@ async def get_download_url_from_upload(self, file_id):
432432
url = f"{self.base_url}/files/{file_id}/uploaded"
433433
headers = self.base_headers.copy()
434434
try:
435-
r = await self.s.post(url, headers=headers, json={}, timeout=10)
435+
r = await self.s.post(url, headers=headers, json={}, timeout=30)
436436
if r.status_code == 200:
437437
download_url = r.json().get('download_url')
438438
return download_url
@@ -450,7 +450,7 @@ async def get_upload_url(self, file_name, file_size, use_case="multimodal"):
450450
url,
451451
headers=headers,
452452
json={"file_name": file_name, "file_size": file_size, "reset_rate_limits": False, "timezone_offset_min": -480, "use_case": use_case},
453-
timeout=5,
453+
timeout=30,
454454
)
455455
if r.status_code == 200:
456456
res = r.json()

chatgpt/chatFormat.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ async def stream_response(service, response, model, max_tokens):
138138
last_role = None
139139
last_content_type = None
140140
last_status = None
141+
last_completed_rate = None
141142
model_slug = None
142143
end = False
143144

@@ -237,7 +238,9 @@ async def stream_response(service, response, model, max_tokens):
237238
current_height = part.get('metadata', {}).get("generation", {}).get("height", 0)
238239
if full_height > current_height:
239240
completed_rate = current_height / full_height
240-
new_text = f"\n> {completed_rate:.2%}\n"
241+
if last_completed_rate and last_completed_rate == completed_rate:
242+
completed_rate = min(completed_rate + random.uniform(1, 3), 99.99)
243+
new_text = f"\n> {completed_rate:.2%...}\n"
241244
if last_role != role:
242245
new_text = f"\n```{new_text}"
243246
else:

gateway/reverseProxy.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -269,11 +269,12 @@ async def chatgpt_reverse_proxy(request: Request, path: str):
269269
.replace("cdn.oaistatic.com", origin_host)
270270
.replace("https", petrol)}, background=background)
271271
elif 'stream' in r.headers.get("content-type", ""):
272-
logger.info(f"Request token: {req_token}")
273-
logger.info(f"Request proxy: {proxy_url}")
274-
logger.info(f"Request UA: {user_agent}")
275-
logger.info(f"Request impersonate: {impersonate}")
276-
conv_key = r.cookies.get("conv_key", "")
272+
if path.endswith("backend-api/conversation") or path.endswith("backend-alt/conversation"):
273+
logger.info(f"Request token: {req_token}")
274+
logger.info(f"Request proxy: {proxy_url}")
275+
logger.info(f"Request UA: {user_agent}")
276+
logger.info(f"Request impersonate: {impersonate}")
277+
conv_key = r.cookies.get("conv_key", "")
277278
response = StreamingResponse(content_generator(r, token, history), media_type=r.headers.get("content-type", ""),
278279
background=background)
279280
response.set_cookie("conv_key", value=conv_key)

requirements.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
fastapi==0.115.3
2-
python-multipart==0.0.13
3-
curl_cffi==0.7.3
2+
python-multipart==0.0.19
3+
curl_cffi==0.10.0
44
uvicorn
55
tiktoken
66
python-dotenv

utils/Client.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55

66
class Client:
7-
def __init__(self, proxy=None, timeout=15, verify=True, impersonate='safari15_3'):
7+
def __init__(self, proxy=None, timeout=30, verify=True, impersonate='safari15_3'):
88
self.proxies = {"http": proxy, "https": proxy}
99
self.timeout = timeout
1010
self.verify = verify
@@ -16,17 +16,15 @@ def __init__(self, proxy=None, timeout=15, verify=True, impersonate='safari15_3'
1616
# self.akamai = ""
1717
# ja3=self.ja3, akamai=self.akamai
1818
self.session = AsyncSession(proxies=self.proxies, timeout=self.timeout, impersonate=self.impersonate, verify=self.verify)
19-
self.session2 = AsyncSession(proxies=self.proxies, timeout=self.timeout, impersonate=self.impersonate, verify=self.verify)
2019

2120
async def post(self, *args, **kwargs):
2221
r = await self.session.post(*args, **kwargs)
2322
return r
2423

25-
async def post_stream(self, *args, headers=None, cookies=None, **kwargs):
26-
if self.session:
27-
headers = headers or self.session.headers
28-
cookies = cookies or self.session.cookies
29-
r = await self.session2.post(*args, headers=headers, cookies=cookies, **kwargs)
24+
async def post_stream(self, *args, **kwargs):
25+
self.session.timeout = 600
26+
r = await self.session.post(*args, **kwargs)
27+
self.session.timeout = 30
3028
return r
3129

3230
async def get(self, *args, **kwargs):

version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.8.8-beta6
1+
1.8.9-beta1

0 commit comments

Comments
 (0)