File size: 1,050 Bytes
261bb88
5f8de6f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from fastapi import HTTPException
from api.config import MODEL_PROVIDER_MAPPING
from api.models import ChatRequest
from api.provider import blackboxai, gizai

async def process_streaming_response(request: ChatRequest):
    provider_name = MODEL_PROVIDER_MAPPING.get(request.model)
    if provider_name == 'blackboxai':
        return await blackboxai.process_streaming_response(request)
    elif provider_name == 'gizai':
        return await gizai.process_streaming_response(request)
    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 == 'blackboxai':
        return await blackboxai.process_non_streaming_response(request)
    elif 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.")