123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #!/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()
|