File size: 1,560 Bytes
8f823b0 d08a15b 8f823b0 d08a15b 8f823b0 851495c 8f823b0 d08a15b 8f823b0 d08a15b 851495c d08a15b 8f823b0 851495c 8f823b0 851495c 8f823b0 d08a15b |
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 |
"""
API服务器启动器
提供API服务器的启动和配置功能
"""
import uvicorn
from voice_dialogue.utils.logger import logger
def launch_api_server(host: str = "0.0.0.0", port: int = 8000, reload: bool = False):
"""
启动API服务器
Args:
host (str): 服务器主机地址,默认为 "0.0.0.0"
port (int): 服务器端口,默认为 8000
reload (bool): 是否启用热重载,默认为 False
"""
logger.info(f'{"=" * 80}')
logger.info(f'正在启动API服务器...')
logger.info(f"服务器地址: http://{host}:{port}")
logger.info(f"API文档: http://{host}:{port}/docs")
logger.info(f"热重载: {'启用' if reload else '禁用'}")
logger.info(f'{"=" * 80}')
uvicorn_config = uvicorn.Config(
"voice_dialogue.api.app:app",
host=host,
port=port,
reload=reload,
log_level="info",
log_config=None, # 不使用uvicorn的日志配置文件
use_colors=True, # 启用彩色日志
)
server = uvicorn.Server(uvicorn_config)
server.run()
if __name__ == "__main__":
import argparse
parser = argparse.ArgumentParser(description="VoiceDialogue API服务器")
parser.add_argument("--host", default="0.0.0.0", help="服务器主机地址")
parser.add_argument("--port", "-p", type=int, default=8000, help="服务器端口")
parser.add_argument("--reload", action="store_true", help="启用热重载")
args = parser.parse_args()
launch_api_server(args.host, args.port, args.reload)
|