Spaces:
Running
Running
import uvicorn | |
import logging | |
from .app import app, key_manager | |
from .config import Config | |
# 获取日志记录器 | |
logger = logging.getLogger("sora-api.main") | |
def init_app(): | |
"""初始化应用程序""" | |
try: | |
# 密钥管理器已在app.py中初始化并加载完成 | |
# 检查是否有可用的密钥 | |
if not key_manager.keys: | |
logger.warning("未配置API key,将使用测试密钥") | |
key_manager.add_key( | |
key_value="Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjE5MzQ0ZTY1LWJiYzktNDRkMS1hOWQwLWY5NTdiMDc5YmQwZSIsInR5cCI6IkpXVCJ9...", | |
name="默认测试密钥" | |
) | |
logger.info(f"API服务初始化完成,已加载 {len(key_manager.keys)} 个API key") | |
except Exception as e: | |
logger.error(f"API服务初始化失败: {str(e)}") | |
raise | |
def start(): | |
"""启动API服务""" | |
# 初始化应用 | |
init_app() | |
# 打印配置信息 | |
Config.print_config() | |
# 启动服务 | |
logger.info(f"启动服务: {Config.HOST}:{Config.PORT}") | |
uvicorn.run( | |
"src.app:app", | |
host=Config.HOST, | |
port=Config.PORT, | |
reload=Config.VERBOSE_LOGGING # 仅在调试模式下开启自动重载 | |
) | |
if __name__ == "__main__": | |
start() |