gnilets commited on
Commit
e215d18
·
verified ·
1 Parent(s): c4a90a3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -6
app.py CHANGED
@@ -131,7 +131,7 @@ async def proxy_openai_api(request: Request):
131
  streaming = client.stream(request.method, COMPLETIONS_URL, headers=headers, params=request.query_params, json=request_body)
132
  async with streaming as stream_response:
133
  if stream_response.status_code in {401, 402, 429}:
134
- return 'auth_error'
135
  if stream_response.status_code == 403:
136
  raise CensoredError('отклонено по цензуре') # это специфичная ошибка именно для опенроутера!
137
  response.init_headers({k: v for k, v in stream_response.headers.items() if k not in {'content-length', 'content-encoding', 'alt-svc'}})
@@ -147,13 +147,12 @@ async def proxy_openai_api(request: Request):
147
 
148
  for api_key in API_KEYS:
149
  response_generator = stream_api_response(api_key)
150
- response = OverrideStreamResponse(response_generator)
151
- response_body = await response.body_iterator.__anext__()
152
- if response_body == 'auth_error':
 
153
  print(f'ключ API {api_key} недействителен или превышен лимит отправки запросов')
154
  continue
155
- else:
156
- return OverrideStreamResponse(itertools.chain([response_body], response.body_iterator))
157
  raise HTTPException(status_code=401, detail='все ключи API использованы, доступ запрещен.')
158
 
159
 
 
131
  streaming = client.stream(request.method, COMPLETIONS_URL, headers=headers, params=request.query_params, json=request_body)
132
  async with streaming as stream_response:
133
  if stream_response.status_code in {401, 402, 429}:
134
+ return
135
  if stream_response.status_code == 403:
136
  raise CensoredError('отклонено по цензуре') # это специфичная ошибка именно для опенроутера!
137
  response.init_headers({k: v for k, v in stream_response.headers.items() if k not in {'content-length', 'content-encoding', 'alt-svc'}})
 
147
 
148
  for api_key in API_KEYS:
149
  response_generator = stream_api_response(api_key)
150
+ try:
151
+ response = OverrideStreamResponse(response_generator)
152
+ return response
153
+ except StopAsyncIteration:
154
  print(f'ключ API {api_key} недействителен или превышен лимит отправки запросов')
155
  continue
 
 
156
  raise HTTPException(status_code=401, detail='все ключи API использованы, доступ запрещен.')
157
 
158