Update api/utils.py
Browse files- api/utils.py +10 -8
api/utils.py
CHANGED
@@ -1,22 +1,24 @@
|
|
1 |
from fastapi import HTTPException
|
|
|
2 |
from api.config import MODEL_PROVIDER_MAPPING
|
3 |
from api.models import ChatRequest
|
4 |
-
from api.provider import
|
|
|
|
|
|
|
5 |
|
6 |
async def process_streaming_response(request: ChatRequest):
|
7 |
provider_name = MODEL_PROVIDER_MAPPING.get(request.model)
|
8 |
-
if provider_name == '
|
9 |
-
|
10 |
-
|
11 |
-
return
|
12 |
else:
|
13 |
raise HTTPException(status_code=400, detail=f"Model {request.model} is not supported for streaming.")
|
14 |
|
15 |
async def process_non_streaming_response(request: ChatRequest):
|
16 |
provider_name = MODEL_PROVIDER_MAPPING.get(request.model)
|
17 |
-
if provider_name == '
|
18 |
-
return await blackboxai.process_non_streaming_response(request)
|
19 |
-
elif provider_name == 'gizai':
|
20 |
return await gizai.process_non_streaming_response(request)
|
21 |
else:
|
22 |
raise HTTPException(status_code=400, detail=f"Model {request.model} is not supported.")
|
|
|
1 |
from fastapi import HTTPException
|
2 |
+
from fastapi.responses import StreamingResponse
|
3 |
from api.config import MODEL_PROVIDER_MAPPING
|
4 |
from api.models import ChatRequest
|
5 |
+
from api.provider import gizai
|
6 |
+
from api.logger import setup_logger
|
7 |
+
|
8 |
+
logger = setup_logger(__name__)
|
9 |
|
10 |
async def process_streaming_response(request: ChatRequest):
|
11 |
provider_name = MODEL_PROVIDER_MAPPING.get(request.model)
|
12 |
+
if provider_name == 'gizai':
|
13 |
+
# GizAI does not support streaming; process as non-streaming
|
14 |
+
response = await gizai.process_non_streaming_response(request)
|
15 |
+
return StreamingResponse(iter([json.dumps(response)]), media_type="application/json")
|
16 |
else:
|
17 |
raise HTTPException(status_code=400, detail=f"Model {request.model} is not supported for streaming.")
|
18 |
|
19 |
async def process_non_streaming_response(request: ChatRequest):
|
20 |
provider_name = MODEL_PROVIDER_MAPPING.get(request.model)
|
21 |
+
if provider_name == 'gizai':
|
|
|
|
|
22 |
return await gizai.process_non_streaming_response(request)
|
23 |
else:
|
24 |
raise HTTPException(status_code=400, detail=f"Model {request.model} is not supported.")
|