gnilets commited on
Commit
ce0a2f5
·
verified ·
1 Parent(s): 1b9c7aa

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +2 -14
app.py CHANGED
@@ -3,6 +3,7 @@ from functools import partial
3
  from os import environ
4
  from typing import Callable, Coroutine
5
  from itertools import chain
 
6
  from anyio import create_task_group
7
  from fastapi import FastAPI, HTTPException, Request
8
  from fastapi.responses import HTMLResponse
@@ -101,19 +102,6 @@ class OverrideStreamResponse(StreamingResponse):
101
  await self.background()
102
 
103
 
104
-
105
- async def get_response_with_valid_api_key(request: Request):
106
- for api_key in API_KEYS:
107
- try:
108
- response_generator = stream_api_response(api_key, request)
109
- response = OverrideStreamResponse(response_generator)
110
- return response
111
- except AuthError:
112
- print(f'ключ API {api_key} недействителен или превышен лимит отправки запросов\n всего ключей: {len(API_KEYS)}')
113
- continue
114
- raise HTTPException(status_code=401, detail='все ключи API использованы, доступ запрещен.')
115
-
116
-
117
  async def proxy_openai_api(request: Request):
118
  headers = {k: v for k, v in request.headers.items() if k not in {'host', 'content-length', 'x-forwarded-for', 'x-real-ip', 'connection'}}
119
 
@@ -147,7 +135,7 @@ async def proxy_openai_api(request: Request):
147
  for api_key in API_KEYS:
148
  response_generator = stream_api_response(api_key)
149
  try:
150
- first_chunk = await response_generator.__anext__()
151
  if first_chunk == 'auth_error':
152
  print(f'ключ API {api_key} недействителен или превышен лимит отправки запросов')
153
  continue
 
3
  from os import environ
4
  from typing import Callable, Coroutine
5
  from itertools import chain
6
+ from asyncio import anext
7
  from anyio import create_task_group
8
  from fastapi import FastAPI, HTTPException, Request
9
  from fastapi.responses import HTMLResponse
 
102
  await self.background()
103
 
104
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  async def proxy_openai_api(request: Request):
106
  headers = {k: v for k, v in request.headers.items() if k not in {'host', 'content-length', 'x-forwarded-for', 'x-real-ip', 'connection'}}
107
 
 
135
  for api_key in API_KEYS:
136
  response_generator = stream_api_response(api_key)
137
  try:
138
+ first_chunk = await anext(response_generator)
139
  if first_chunk == 'auth_error':
140
  print(f'ключ API {api_key} недействителен или превышен лимит отправки запросов')
141
  continue