Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Clark Lin
Fastapi for APEX
Commits
4f0afe1e
Commit
4f0afe1e
authored
Aug 02, 2024
by
Clark Lin
Browse files
fixed issues for initial version
parent
f2a08f6b
Changes
5
Show whitespace changes
Inline
Side-by-side
.gitignore
0 → 100644
View file @
4f0afe1e
*.swp
.vscode/
__pycache__/
backup/
fastapi_service.py
logs/
nohup.out
qcloud/
tmp/
venv/
credential/credential.json
credential/oauth2.json
credential/credential.json
→
credential/credential.json
.bk
View file @
4f0afe1e
credential/oauth2.json
→
credential/oauth2.json
.bk
View file @
4f0afe1e
File moved
fastapi_service.py
View file @
4f0afe1e
...
...
@@ -3,6 +3,9 @@ from fastapi import FastAPI, Query
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
from
fastapi.responses
import
StreamingResponse
...
...
@@ -87,12 +90,26 @@ async def get_download_url(file_download_req: qcloud_cos_service.file_download_r
@
app
.
post
(
"/get_detected_text/"
)
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
return
qcloud_ocr_service
.
get_
qcloud_
detected_text
(
ocr_req
)
elif
ocr_req
.
tool
==
'LP'
:
return
qcloud_ocr_service
.
get_detected_text
(
ocr_req
)
elif
ocr_req
.
ocr_
tool
==
'LP'
:
# 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
)
# ------------------------------------------------
...
...
tongyi_genai_service.py
View file @
4f0afe1e
# Import FastAPI Libs
from
pydantic
import
BaseModel
<<<<<<<
HEAD
=======
import
fastapi_security_util
from
jose
import
JWTError
,
jwt
from
fastapi
import
HTTPException
,
status
>>>>>>>
753
bfe8e87baa5e77942adc934d18c6febdf34fa
# Import Dashscope Service Libs
from
http
import
HTTPStatus
...
...
@@ -14,11 +11,8 @@ from dashscope.api_entities.dashscope_response import Role
import
dashscope
import
json
import
os
<<<<<<<
HEAD
=======
import
asyncio
import
uuid
>>>>>>>
753
bfe8e87baa5e77942adc934d18c6febdf34fa
# Import your custom logging manager
import
logging
...
...
@@ -92,10 +86,7 @@ class send_message_res_basemodel(BaseModel):
result
:
int
result_message
:
str
message_res
:
str
<<<<<<<
HEAD
=======
uuid
:
str
>>>>>>>
753
bfe8e87baa5e77942adc934d18c6febdf34fa
# ------------------------------------------------
...
...
@@ -123,11 +114,7 @@ def send_message(messages_req: send_message_req_basemodel) -> send_message_res_b
dashscope
.
api_key
=
api_key
# 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.'
}]
>>>>>>>
753
bfe8e87baa5e77942adc934d18c6febdf34fa
# Loop input message list
for
message
in
messages_req
.
messages
:
...
...
@@ -147,13 +134,6 @@ def send_message(messages_req: send_message_req_basemodel) -> send_message_res_b
model
=
Generation
.
Models
.
qwen_plus
# 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
(
model
,
# Generation.Models.qwen_turbo,
messages
=
messages
,
...
...
@@ -174,7 +154,6 @@ def send_message(messages_req: send_message_req_basemodel) -> send_message_res_b
# response.code, response.message
# ))
>>>>>>>
753
bfe8e87baa5e77942adc934d18c6febdf34fa
if
response
.
status_code
==
HTTPStatus
.
OK
:
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
return
send_message_res
<<<<<<<
HEAD
=======
# ------------------------------------------------
# Function to store question (async)
...
...
@@ -358,4 +335,4 @@ async def get_answer(uuid: str):
result_message
=
str
(
e
)
lm
.
log
(
logging
.
ERROR
,
'Exception'
,
result_message
)
yield
f
"data: Exception -
{
result_message
}
\n\n
"
>>>>>>>
753
bfe8e87baa5e77942adc934d18c6febdf34fa
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment