Spaces:
Runtime error
Runtime error
File size: 2,236 Bytes
b30d305 | 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 | #!/usr/bin/env python3
"""
Web服务器启动脚本
"""
import sys
import os
import argparse
from pathlib import Path
# 添加src目录到Python路径
sys.path.insert(0, str(Path(__file__).parent / "src"))
# 注册检测器
from core.openai_detector import OpenAICapabilityDetector
from core.anthropic_detector import AnthropicCapabilityDetector
from core.gemini_detector import GeminiCapabilityDetector
from core.capability_detector import CapabilityDetectorFactory
CapabilityDetectorFactory.register("openai", OpenAICapabilityDetector)
CapabilityDetectorFactory.register("anthropic", AnthropicCapabilityDetector)
CapabilityDetectorFactory.register("gemini", GeminiCapabilityDetector)
def main():
# 导入环境配置
from src.utils.env_config import env_config
parser = argparse.ArgumentParser(description="AI API统一转换代理系统Web服务器")
parser.add_argument("--host", default="0.0.0.0", help="服务器主机地址 (默认: 0.0.0.0)")
parser.add_argument("--port", type=int, default=env_config.web_port, help=f"服务器端口 (默认: {env_config.web_port})")
parser.add_argument("--reload", action="store_true", help="开启自动重载 (开发模式)")
parser.add_argument("--debug", action="store_true", help="开启调试模式")
args = parser.parse_args()
# 验证配置
config_errors = env_config.validate_config()
if config_errors:
print("❌ 配置验证失败:")
for error in config_errors:
print(f" - {error}")
sys.exit(1)
print("🚀 启动AI API统一转换代理系统...")
print(f"📖 访问 http://localhost:{args.port} 查看Web界面")
print(f"📚 API文档: http://localhost:{args.port}/docs")
print(f"🌐 服务器地址: {args.host}:{args.port}")
if args.reload:
print("⚠️ 开发模式:自动重载已启用")
import uvicorn
# 设置日志级别
log_level = "debug" if args.debug else "info"
# 启动服务器
uvicorn.run(
"api.web_api:app", # 使用import string格式
host=args.host,
port=args.port,
reload=args.reload,
log_level=log_level
)
if __name__ == "__main__":
main() |