# Import FastAPI Libs from fastapi import FastAPI from pydantic import BaseModel import qcloud_cos_service import qcloud_ocr_service import qcloud_asr_service import local_paddle_ocr_service import local_whisper_asr_service import tongyi_genai_service # ------------------------------------------------ # Define FastAPI # ------------------------------------------------ app = FastAPI() # ------------------------------------------------ # Call File Upload Service Process # ------------------------------------------------ @app.post("/upload/") async def upload(file_uplaod_req: qcloud_cos_service.file_upload_req_basemodel): return qcloud_cos_service.upload(file_uplaod_req) # ------------------------------------------------ # Call File Download URL Service Process # ------------------------------------------------ @app.post("/get_download_url/") async def get_download_url(file_download_req: qcloud_cos_service.file_download_req_basemodel): return qcloud_cos_service.get_download_url(file_download_req) # ------------------------------------------------ # Call OCR Service Process # ------------------------------------------------ @app.post("/get_detected_text/") async def get_detected_text(ocr_req: qcloud_ocr_service.ocr_req_basemodel): if ocr_req.ocr_tool == 'Q': # Call Qcloud API return qcloud_ocr_service.get_detected_text(ocr_req) elif ocr_req.ocr_tool == 'LP': # Call Local PaddleOCR API return local_paddle_ocr_service.get_detected_text(ocr_req) # ------------------------------------------------ # Call ASR Service Process # ------------------------------------------------ @app.post("/get_detected_asr_text/") async def get_detected_text(asr_req: local_whisper_asr_service.asr_req_basemodel): if asr_req.asr_tool == 'W': # Call Local Whisper ASR API return local_whisper_asr_service.get_detected_text(asr_req) elif asr_req.asr_tool == 'Q': # Call Qcloud ASR API return qcloud_asr_service.get_detected_text(asr_req) # ------------------------------------------------ # Call File Upload Service Process # ------------------------------------------------ @app.post("/send_message_to_gen_ai/tongyi/") async def send_message(send_message_req: tongyi_genai_service.send_message_req_basemodel): return tongyi_genai_service.send_message(send_message_req)