Commit 4f0afe1e authored by Clark Lin's avatar Clark Lin
Browse files

fixed issues for initial version

parent f2a08f6b
*.swp
.vscode/
__pycache__/
backup/
fastapi_service.py
logs/
nohup.out
qcloud/
tmp/
venv/
credential/credential.json
credential/oauth2.json
{ {
"oss": { "oss": {
"<qcloud oss bucket name>": { "<qcloud oss bucket name>": {
"oss-program": { "oss-program": {
"secret_id": "<qcloud oss secret_id>", "secret_id": "<qcloud oss secret_id>",
"secret_key": "<qcloud oss secret_key>", "secret_key": "<qcloud oss secret_key>",
"description": "object-storage-all" "description": "object-storage-all"
} }
} }
}, },
"ocr": { "ocr": {
"ocr-program": { "ocr-program": {
"secret_id": "<qcloud ocr secret_id>", "secret_id": "<qcloud ocr secret_id>",
"secret_key": "<qcloud ocr secret_key>", "secret_key": "<qcloud ocr secret_key>",
"description": "文字识别 (ocr)" "description": "文字识别 (ocr)"
} }
}, },
"asr": { "asr": {
"asr-program": { "asr-program": {
"app_id": "<qcloud ASR app id>", "app_id": "<qcloud ASR app id>",
"secret_id": "<qcloud ASR secret_id>", "secret_id": "<qcloud ASR secret_id>",
"secret_key": "<qcloud ASR secret_key>", "secret_key": "<qcloud ASR secret_key>",
"description": "语音识别 (asr)" "description": "语音识别 (asr)"
} }
}, },
"paddle": { "paddle": {
"aliyun_ecs": { "aliyun_ecs": {
"base_url": "https://xxx.xxx.xxx.xxx:xxxx", "base_url": "https://xxx.xxx.xxx.xxx:xxxx",
"client_id": "<OP fastapi client_id>", "client_id": "<OP fastapi client_id>",
"client_secret": "<OP fastapi client_secret>" "client_secret": "<OP fastapi client_secret>"
}, },
"ctyun_ecs": { "ctyun_ecs": {
"base_url": "https://xxx.xxx.xxx.xxx:xxxx", "base_url": "https://xxx.xxx.xxx.xxx:xxxx",
"client_id": "<OP fastapi client_id>", "client_id": "<OP fastapi client_id>",
"client_secret": "<OP fastapi client_secret>" "client_secret": "<OP fastapi client_secret>"
} }
}, },
"whisper": { "whisper": {
"aliyun_ecs": { "aliyun_ecs": {
"base_url": "https://xxx.xxx.xxx.xxx:xxxx", "base_url": "https://xxx.xxx.xxx.xxx:xxxx",
"client_id": "<OP fastapi client_id>", "client_id": "<OP fastapi client_id>",
"client_secret": "<OP fastapi client_secret>" "client_secret": "<OP fastapi client_secret>"
}, },
"ctyun_ecs": { "ctyun_ecs": {
"base_url": "https://xxx.xxx.xxx.xxx:xxxx", "base_url": "https://xxx.xxx.xxx.xxx:xxxx",
"client_id": "<OP fastapi client_id>", "client_id": "<OP fastapi client_id>",
"client_secret": "<OP fastapi client_secret>" "client_secret": "<OP fastapi client_secret>"
} }
}, },
"gen-ai": { "gen-ai": {
"aliyun":{ "aliyun":{
"api_key": "<Gen AI api_key>", "api_key": "<Gen AI api_key>",
"description": "Tongyi" "description": "Tongyi"
} }
} }
} }
...@@ -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)
# ------------------------------------------------ # ------------------------------------------------
......
# Import FastAPI Libs # Import FastAPI Libs
from pydantic import BaseModel from pydantic import BaseModel
<<<<<<< HEAD
=======
import fastapi_security_util import fastapi_security_util
from jose import JWTError, jwt from jose import JWTError, jwt
from fastapi import HTTPException, status from fastapi import HTTPException, status
>>>>>>> 753bfe8e87baa5e77942adc934d18c6febdf34fa
# Import Dashscope Service Libs # Import Dashscope Service Libs
from http import HTTPStatus from http import HTTPStatus
...@@ -14,11 +11,8 @@ from dashscope.api_entities.dashscope_response import Role ...@@ -14,11 +11,8 @@ from dashscope.api_entities.dashscope_response import Role
import dashscope import dashscope
import json import json
import os import os
<<<<<<< HEAD
=======
import asyncio import asyncio
import uuid import uuid
>>>>>>> 753bfe8e87baa5e77942adc934d18c6febdf34fa
# Import your custom logging manager # Import your custom logging manager
import logging import logging
...@@ -92,10 +86,7 @@ class send_message_res_basemodel(BaseModel): ...@@ -92,10 +86,7 @@ class send_message_res_basemodel(BaseModel):
result: int result: int
result_message: str result_message: str
message_res: str message_res: str
<<<<<<< HEAD
=======
uuid: str uuid: str
>>>>>>> 753bfe8e87baa5e77942adc934d18c6febdf34fa
# ------------------------------------------------ # ------------------------------------------------
...@@ -123,11 +114,7 @@ def send_message(messages_req: send_message_req_basemodel) -> send_message_res_b ...@@ -123,11 +114,7 @@ def send_message(messages_req: send_message_req_basemodel) -> send_message_res_b
dashscope.api_key = api_key dashscope.api_key = api_key
# Set system prompt # Set system prompt
<<<<<<< HEAD
messages = [{'role': Role.SYSTEM, 'content': 'You are a helpful assistant.'}]
=======
messages = [{'role': Role.SYSTEM, 'content': 'You are a helpful assistant. If you are not sure the answer, please don''t reply with wrong answer.'}] messages = [{'role': Role.SYSTEM, 'content': 'You are a helpful assistant. If you are not sure the answer, please don''t reply with wrong answer.'}]
>>>>>>> 753bfe8e87baa5e77942adc934d18c6febdf34fa
# Loop input message list # Loop input message list
for message in messages_req.messages: for message in messages_req.messages:
...@@ -147,13 +134,6 @@ def send_message(messages_req: send_message_req_basemodel) -> send_message_res_b ...@@ -147,13 +134,6 @@ def send_message(messages_req: send_message_req_basemodel) -> send_message_res_b
model = Generation.Models.qwen_plus model = Generation.Models.qwen_plus
# Use SDK to get answer # Use SDK to get answer
<<<<<<< HEAD
response = Generation.call(
model, # Generation.Models.qwen_turbo,
messages=messages,
result_format='message', # set the result to be 'message' format.
)
=======
responses = Generation.call( responses = Generation.call(
model, # Generation.Models.qwen_turbo, model, # Generation.Models.qwen_turbo,
messages=messages, messages=messages,
...@@ -174,7 +154,6 @@ def send_message(messages_req: send_message_req_basemodel) -> send_message_res_b ...@@ -174,7 +154,6 @@ def send_message(messages_req: send_message_req_basemodel) -> send_message_res_b
# response.code, response.message # response.code, response.message
# )) # ))
>>>>>>> 753bfe8e87baa5e77942adc934d18c6febdf34fa
if response.status_code == HTTPStatus.OK: if response.status_code == HTTPStatus.OK:
lm.log(logging.INFO, curr_module, 'Normal response', str(response)) lm.log(logging.INFO, curr_module, 'Normal response', str(response))
...@@ -212,8 +191,6 @@ def send_message(messages_req: send_message_req_basemodel) -> send_message_res_b ...@@ -212,8 +191,6 @@ def send_message(messages_req: send_message_req_basemodel) -> send_message_res_b
return send_message_res return send_message_res
<<<<<<< HEAD
=======
# ------------------------------------------------ # ------------------------------------------------
# Function to store question (async) # Function to store question (async)
...@@ -358,4 +335,4 @@ async def get_answer(uuid: str): ...@@ -358,4 +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"
>>>>>>> 753bfe8e87baa5e77942adc934d18c6febdf34fa
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment