-
Notifications
You must be signed in to change notification settings - Fork 62
Expand file tree
/
Copy pathmain.py
More file actions
69 lines (53 loc) · 1.69 KB
/
main.py
File metadata and controls
69 lines (53 loc) · 1.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
import gradio as gr
import uvicorn
import config
from web.gradio_ui import create_gradio_interface
from web.api import router as api_router
import logging
# 屏蔽访问日志
block_endpoints = "/"
class LogFilter(logging.Filter):
def filter(self, record):
if record.args and len(record.args) >= 3:
if str(record.args[2]).startswith(block_endpoints):
return False
return True
uvicorn_logger = logging.getLogger("uvicorn.access")
uvicorn_logger.addFilter(LogFilter())
app = FastAPI()
# 跨域中间件
origins = ["*"]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# 添加api路由
app.include_router(api_router)
# 检查GPU可用性
try:
import torch
if torch.cuda.is_available():
print("✅ 检测到GPU可用,将使用GPU加速")
else:
print("⚠️ 未检测到GPU,将使用CPU运行")
except ImportError:
print("⚠️ 无法导入torch,GPU状态未知")
# 打印当前配置
print("\n当前配置:")
print(f" 语音识别处理模块: {config.SPEECH_RECOGNIZER_TYPE}")
print(f" 模型大小: {config.WHISPER_MODEL_SIZE}")
print(f" 计算设备: {config.WHISPER_DEVICE}")
print(f" 计算类型: {config.WHISPER_COMPUTE_TYPE}")
print(f" 使用GPU: {config.WHISPER_GPU_IDS}")
print(f" 批处理大小: {config.WHISPER_BATCH_SIZE}")
# 创建Gradio界面
gradio_app = create_gradio_interface()
app = gr.mount_gradio_app(app, gradio_app, path="")
if __name__ == "__main__":
# 启动应用
uvicorn.run(app, host="localhost", port=7860)