Commits (3)
*.swp
.vscode/
__pycache__/
backup/
fastapi_service.py
logs/
nohup.out
qcloud/
tmp/
venv/
credential/credential.json
credential/oauth2.json
...@@ -3,6 +3,9 @@ from fastapi import FastAPI, Query ...@@ -3,6 +3,9 @@ from fastapi import FastAPI, Query
from pydantic import BaseModel from pydantic import BaseModel
import qcloud_cos_service import qcloud_cos_service
import qcloud_ocr_service import qcloud_ocr_service
import qcloud_asr_service
import local_paddle_ocr_service
import local_whisper_asr_service
import tongyi_genai_service import tongyi_genai_service
from fastapi.responses import StreamingResponse from fastapi.responses import StreamingResponse
...@@ -87,12 +90,26 @@ async def get_download_url(file_download_req: qcloud_cos_service.file_download_r ...@@ -87,12 +90,26 @@ async def get_download_url(file_download_req: qcloud_cos_service.file_download_r
@app.post("/get_detected_text/") @app.post("/get_detected_text/")
async def get_detected_text(ocr_req: qcloud_ocr_service.ocr_req_basemodel): async def get_detected_text(ocr_req: qcloud_ocr_service.ocr_req_basemodel):
if ocr_req.tool == 'Q': if ocr_req.ocr_tool == 'Q':
# Call Qcloud API # Call Qcloud API
return qcloud_ocr_service.get_qcloud_detected_text(ocr_req) return qcloud_ocr_service.get_detected_text(ocr_req)
elif ocr_req.tool == 'LP': elif ocr_req.ocr_tool == 'LP':
# Call Local PaddleOCR API # Call Local PaddleOCR API
return qcloud_ocr_service.get_paddleocr_detected_text(ocr_req) 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)
# ------------------------------------------------ # ------------------------------------------------
......
...@@ -203,5 +203,3 @@ def get_detected_text(ocr_req: ocr_req_basemodel) -> tuple: ...@@ -203,5 +203,3 @@ def get_detected_text(ocr_req: ocr_req_basemodel) -> tuple:
return ocr_res return ocr_res
...@@ -203,5 +203,3 @@ def get_detected_text(asr_req: asr_req_basemodel) -> tuple: ...@@ -203,5 +203,3 @@ def get_detected_text(asr_req: asr_req_basemodel) -> tuple:
return asr_res return asr_res
...@@ -172,4 +172,3 @@ def get_detected_text(asr_req: asr_req_basemodel) -> tuple: ...@@ -172,4 +172,3 @@ def get_detected_text(asr_req: asr_req_basemodel) -> tuple:
asr_resp.result_message = str(e) asr_resp.result_message = str(e)
return asr_resp return asr_resp
...@@ -278,4 +278,3 @@ def get_download_url(file_download_req: file_download_req_basemodel): ...@@ -278,4 +278,3 @@ def get_download_url(file_download_req: file_download_req_basemodel):
return file_download_res return file_download_res
# Import FastAPI Libs
from fastapi import FastAPI
from pydantic import BaseModel
import qcloud_cos_service
import qcloud_ocr_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):
return qcloud_ocr_service.get_detected_text(ocr_req)
\ No newline at end of file
...@@ -335,3 +335,4 @@ async def get_answer(uuid: str): ...@@ -335,3 +335,4 @@ async def get_answer(uuid: str):
result_message = str(e) result_message = str(e)
lm.log(logging.ERROR, 'Exception', result_message) lm.log(logging.ERROR, 'Exception', result_message)
yield f"data: Exception - {result_message}\n\n" yield f"data: Exception - {result_message}\n\n"