File size: 785 Bytes
22379c6
 
 
0e48a80
22379c6
0e48a80
22379c6
 
 
 
 
 
 
0e48a80
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from fastapi import File, UploadFile

from ocr.api.message import ocr_router
from ocr.api.message.openai_request import generate_report
from ocr.api.message.schemas import OcrResponse
from ocr.api.message.utils import divide_images, prepare_request_content, clean_response
from ocr.core.wrappers import OcrResponseWrapper


@ocr_router.post('/parse')
async def get_all_chat_messages(
        file: UploadFile = File(...)
) -> OcrResponseWrapper[OcrResponse]:
    try:
        contents = await file.read()
        images = divide_images(contents)
        request_content = prepare_request_content(images)
        response = await generate_report(request_content)
        return OcrResponseWrapper(data=OcrResponse(text=clean_response(response)))
    finally:
        await file.close()