soraapi / src /main.py
anycallzhf's picture
Initial commit for Hugging Face Space deployment
b064311
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()