#!/usr/bin/env python3 """MES AI服务启动脚本""" import sys import os import subprocess from pathlib import Path def main(): """启动MES AI服务""" print("🚀 启动MES AI服务...") # 获取项目根目录 root_dir = Path(__file__).parent.parent os.chdir(root_dir) # 检查Python版本 if sys.version_info < (3, 11): print("❌ 错误: 需要Python 3.11或更高版本") sys.exit(1) # 检查环境变量文件 env_file = root_dir / ".env" if not env_file.exists(): print("⚠️ 警告: .env文件不存在") print("请复制.env.example为.env并配置OpenAI API密钥") # 创建基本的.env文件 with open(env_file, "w", encoding="utf-8") as f: f.write("# MES AI服务配置\n") f.write("MES_AI_OPENAI_API_KEY=your_openai_api_key_here\n") f.write("MES_AI_DEBUG=true\n") print("✅ 已创建基本.env文件,请编辑并添加OpenAI API密钥") # 检查依赖 try: import uvicorn import fastapi import openai print("✅ 依赖检查通过") except ImportError as e: print(f"❌ 缺少依赖: {e}") print("请运行: uv sync") sys.exit(1) # 启动服务 try: print("🌟 MES AI服务正在启动...") print("📖 API文档: http://localhost:8000/docs") print("🔗 聊天接口: http://localhost:8000/api/v1/chat") print("❤️ 健康检查: http://localhost:8000/api/v1/health") print("\n按 Ctrl+C 停止服务\n") subprocess.run([sys.executable, "main.py"], check=True) except KeyboardInterrupt: print("\n👋 MES AI服务已停止") except subprocess.CalledProcessError as e: print(f"❌ 服务启动失败: {e}") sys.exit(1) if __name__ == "__main__": main()