Mind-Reframe / ai-core /app /api /v1 /endpoints /completion.py
cuongpm-cs's picture
Initial commit
f171e60
Raw
History Blame Contribute Delete
944 Bytes
from fastapi import APIRouter, HTTPException
from fastapi.responses import StreamingResponse
from app.models.requests import CompletionRequest
from app.models.responses import CompletionResponse, ErrorResponse
from app.services.completion_service import completion_service
from app.utils.errors import AIException
router = APIRouter()
@router.post(
"/completion",
response_model=CompletionResponse,
responses={
400: {"model": ErrorResponse},
500: {"model": ErrorResponse}
},
summary="Chat with LLM",
description="Send conversation messages to LLM and receive response"
)
async def completion(request: CompletionRequest):
try:
response = await completion_service.process_completion(request)
return response
except AIException as e:
raise HTTPException(status_code=400, detail=str(e))
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))