Piyizhixing / start_server.py
frdywud's picture
Upload 182 files
dbb49bb verified
#!/usr/bin/env python3
"""
启动脚本 - 痞满症智能诊疗系统
用于解决模块导入问题,并提供更好的启动体验
"""
import os
import sys
from pathlib import Path
# 添加项目根目录到 Python 路径
project_root = Path(__file__).parent
if str(project_root) not in sys.path:
sys.path.insert(0, str(project_root))
# 优先加载 .env 环境变量(若存在)
try:
from dotenv import load_dotenv
env_path = project_root / ".env"
load_dotenv(dotenv_path=env_path if env_path.exists() else None)
except Exception:
pass
def main():
"""主启动函数"""
# 检查 API Key
api_key = os.getenv("DEEPSEEK_API_KEY")
# api_key = "sk-92205c60545442ceb773af800c2ba6ab"
if not api_key:
print("❌ 错误: 未找到 DEEPSEEK_API_KEY 环境变量")
print("\n请先设置 API Key:")
print("Windows PowerShell: $env:DEEPSEEK_API_KEY=\"your_api_key\"")
print("Windows CMD: set DEEPSEEK_API_KEY=your_api_key")
print("Linux/macOS: export DEEPSEEK_API_KEY=\"your_api_key\"")
return 1
# 检查依赖
try:
import fastapi
import uvicorn
import httpx
import openai
import sklearn
except ImportError as e:
print(f"❌ 错误: 缺少依赖包 {e}")
print("\n请安装依赖:")
print("pip install -r requirements.txt")
return 1
print("🚀 启动痞满症智能诊疗系统...")
print(f"📁 项目路径: {project_root}")
print(f"🔑 API Key: {api_key[:4]}...")
print(f"📖 API文档: http://localhost:8000/docs")
print(f"❤️ 健康检查: http://localhost:8000/health")
print(f"🖥️ 前端页面: http://localhost:8000/")
print("\n按 Ctrl+C 停止服务器\n")
# 导入并启动应用
try:
import uvicorn
uvicorn.run(
"app.main:app",
host="0.0.0.0",
port=8000,
reload=True,
access_log=True
)
except KeyboardInterrupt:
print("\n👋 服务器已停止")
return 0
except Exception as e:
print(f"❌ 启动失败: {e}")
return 1
if __name__ == "__main__":
sys.exit(main())