Spaces:
Running
Running
#!/usr/bin/env python | |
import sys | |
import os | |
import logging | |
# 设置日志 | |
logging.basicConfig( | |
level=logging.INFO, | |
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' | |
) | |
logger = logging.getLogger("sora-api") | |
# 设置控制台输出编码为UTF-8 | |
if sys.platform.startswith('win'): | |
os.system("chcp 65001") | |
sys.stdout.reconfigure(encoding='utf-8') | |
elif sys.stdout.encoding != 'utf-8': | |
sys.stdout.reconfigure(encoding='utf-8') | |
# 确保src目录在路径中 | |
sys.path.insert(0, os.path.abspath(os.path.dirname(__file__))) | |
# 提前加载app和key_manager,确保API密钥在启动前已加载 | |
from src.app import app, key_manager | |
from src.main import init_app | |
from src.config import Config | |
import uvicorn | |
if __name__ == "__main__": | |
# 设置环境变量确保正确处理UTF-8 | |
os.environ["PYTHONIOENCODING"] = "utf-8" | |
# 初始化应用 | |
init_app() | |
# 启动服务 | |
logger.info(f"启动OpenAI兼容的Sora API服务: {Config.HOST}:{Config.PORT}") | |
logger.info(f"已加载 {len(key_manager.keys)} 个API密钥") | |
uvicorn.run( | |
"src.app:app", | |
host=Config.HOST, | |
port=Config.PORT, | |
reload=False # 生产环境关闭自动重载 | |
) |