test24 / api /utils.py
Niansuh's picture
Update api/utils.py
ddb7871 verified
raw
history blame
1.11 kB
from fastapi import HTTPException
from fastapi.responses import StreamingResponse
from api.config import MODEL_PROVIDER_MAPPING
from api.models import ChatRequest
from api.provider import gizai
from api.logger import setup_logger
logger = setup_logger(__name__)
async def process_streaming_response(request: ChatRequest):
provider_name = MODEL_PROVIDER_MAPPING.get(request.model)
if provider_name == 'gizai':
# GizAI does not support streaming; process as non-streaming
response = await gizai.process_non_streaming_response(request)
return StreamingResponse(iter([json.dumps(response)]), media_type="application/json")
else:
raise HTTPException(status_code=400, detail=f"Model {request.model} is not supported for streaming.")
async def process_non_streaming_response(request: ChatRequest):
provider_name = MODEL_PROVIDER_MAPPING.get(request.model)
if provider_name == 'gizai':
return await gizai.process_non_streaming_response(request)
else:
raise HTTPException(status_code=400, detail=f"Model {request.model} is not supported.")